1,数据的通讯底层方式
Posted frogkiller
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1,数据的通讯底层方式相关的知识,希望对你有一定的参考价值。
- 双方之前通讯方式:
- 之前给出的是opc
- 现在,我们这边数据库,webservices,s7直接PLC对接,TCP/IP读取等都是支持的.双方可以进行协商.
- 特殊数据可以特殊传输.
2,建立对接对象模型
- A类数据:采集数据_____定义为MES非检测数据.当该数据产生的时候,甲方会将数据丢入数据库. MES方可以按照以下方式去读取
1,直接定时轮询数据库,并将读取的数据的设定标志位设为true表示已读取数据.
2,通过间接的方式,由甲方代理轮询数据库,并将读取的数据设定标志设为true.
3,为了方便通讯,甲方可以开发 数据.dll 提供给乙方 用于解析数据.
也就是甲方传给乙方的数据是统一的字节流.乙方可以通过解析的.dll(仅限于.net平台的mes开发)中的函数,来将数据还原成处理类.
- B类数据:MES管控数据_____ 定义为 甲方将数据块传递给乙方,乙方进行数据检验,只有等乙方数据通过的时候,甲方才能进行下一步动作:
对于这类数据:
客户和乙方应为甲方定义 数据检验成功/不成功 的处理流程
甲方实现强制功能,可以进行屏蔽.
可能存在
- 通讯失败
- 数据校验失败
- 数据本身不符合生产流程(比如 配方号不对....人员权限不够等等.)
- 成功
- 中断,甲方强制结束数据申请,人工处理.
- 无论如何甲方将在数据库进行一条数据记录.
C类数据:甲方申请数据块(比如配方...之类)
- 需要由乙方给定数据结构.并定义互锁字段
- 需要由乙方定义传输方式.
- 需要乙方定义数据失败后的处理方式,和甲方协商后处理
----------------------
以上模型需要双方讨论给出当模型的类的大小发生变化时,进行更改的便利性.(即并不会增加多少工作量)
3,通讯测试:
针对上述的模型进行数据测试.(需要考虑 数据模型更改后的便利性)
测试模型的可靠性.
4,在PLC端,为甲方定义各类模型的具体数据结构,对于特殊数据,(非采集类,比如人工输入数据)进行定义.由甲方负责进行数据结构的填充.
以上是关于1,数据的通讯底层方式的主要内容,如果未能解决你的问题,请参考以下文章
dotnet 替换 ASP.NET Core 的底层通讯为命名管道的 IPC 库