这是一个厂家给的通讯协议:
楼层提升机受控于 plc,lothar 系统与 plc 以 modbus tcp/ip 协议通信。
lothar 系统为 masterclient,plc 为 slaveserver,寄存器开始地址:0x0000
modbus tcp/ip 协议
⚫ adu=mbap pdu=mbap 功 能码 数 据
⚫ mbap
描述 长度(字节) 描述 客户端表示 服务端表示
事务识别号 2 modbus 请求/响应任务的识别号 由客户端初始化时形成 由接收到的请求信息复制
协议识别号 2 0=modbus 协议 由客户端初始化时形成 由接收到的请求信息复制
长度 2 后面的字节数量 由客户端发送请求时形成 由服务端响应请求时形成
设备识别号 1 连接的从站地址 由客户端初始化时形成 由接收到的请求信息复制
⚫ 功能 码
0x03 读取数据 readholdingregistersasync
0x10 写入数据 writemultipleregistersasync
数据报 文示 例
信号 数据流向 值 寄存器地址
数提升机状态 plc>>>lothar 0x0000(异常) / 0x0001(正常) 0x0000
提升机门状态 plc>>>lothar 0x0000(已关) / 0x0001(已开) 0x0001
提升机楼层状态 plc>>>lothar 0x0000(未知) / 0x0001(已抵达1楼)/0x0002(已抵达2楼) 0x0002
呼叫提升机 lothar>>>plc 0x0000(否)/0x0001(呼叫提升机抵达 1 楼并自动开门 )
0x0002( 呼 叫 提 升 机 抵 达 2 楼 并 自 动 开门) 0x0003
0x0003(呼叫提升机抵达 3 楼并自动开门)
释放提升机 lothar>>>plc 0x0000(否)/0x0001(是) 0x0004
其中lothar 系统为主客户端。比如西门子smart是不是作为从服务器使用 ,是用client模块建立链接还是用server模块建立链接,寄存器地址0x000是plc上的地址还是lothar 系统为主客户端地址,