• 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端,为甲方定义各类模型的具体数据结构,对于特殊数据,(非采集类,比如人工输入数据)进行定义.由甲方负责进行数据结构的填充.

  • 相关阅读:
    能自证的任意类型即为动态类型
    类型系统:类型信息引用 isa
    类型系统:类型检查、类型转换、任意类型-强类型、类型转换
    动态类型与弱类型
    Swift Intermediate Language (SIL)
    swift -Dynamic Dispatch
    swift VTables
    Which dispatch method would be used in Swift?
    Which dispatch method would be used in Swift?-Existential Container
    Swift protocol extension method is called instead of method implemented in subclass
  • 原文地址:https://www.cnblogs.com/frogkiller/p/12376009.html
Copyright © 2020-2023  润新知