lichi 发表于 2019-11-20 14:56:12

如何使用合信CTH200 PLC建立自由口通讯

本帖最后由 lichi 于 2019-11-20 14:58 编辑

1、建立自由口通讯,首先要在特殊寄存器SMB30(自由口0控制寄存器)或SMB130(自由口1控制寄存器)定义好自由口通讯的波特率、协议选择、校验、数据位。本次设置是波特率9600   自由口无校验8数据位。


2然后通过SMB87(P0接收信息控制字节)定义接收信息起始判断。(下面例子是通过开始字符和结束字符判断接收信息的开始和结束),开始和结束字符在
SMB88(P0信息字符的开始)、SMB88(P0信息字符的结束)定义,在SMB94(P0接收字符的最大数(1到255字节)。注意:这个区一定要设为希望的最大缓冲区,即使不使用字符计数信息终止。)定义接收最大允许字符数
本次设置是使用 起始字符(SMB88=@)   结束字符(SMB89=回车)=16#0D SMB94:最大接受字符数255


3、连接中断,本次例子主要用中断事件号9(端口0:发送信息完成)和中断事件号23(端口0:接收信息完成),在此例子中给的就是,初始激活一次接收指令,接收完成进入端口0:接收信息完成中断,在此中断中进行数据运算完成之后,把运算完成后的数据发送出去。发送完成之后进入端口0:发送信息完成中断,在此中断中再次执行接收信息,等待下一个开始字符的到来。按照上面的顺序循环,一直执行接收上位机采集命令完成后发送返回数据。


4、RCV接受指令和XMT发送指令都有一个TBL参数,其指令缓冲区定义如下图所示,RCV接收指令的T+0个字节表示接收字节的个数接收完成后清零。XMT发送指令的T+0个字节表示发送字节的个数,在发送之前必须要要定义好。




5、此协议为COVI通讯协议1.上位机采集命令@740RXXXCMD+回车XXX为下位机的地址码,范围从0x000~0xFFF2.返回数据格式 例如:@740#XXXVI02346CO12345-2500[回车"@740#" 是返回数据固定的数据头;"XXX"   是返回数据的下位机地址位;"VI"    消光系数数据的起始标识;"02346" 消光系数的数据;值为:2.346 1/km"CO"    CO数据的起始标识;"12345" CO的数据;值为123.45 ppm"- "    表示温度是负的,若温度不是负数,则此位用空格表示;"25"    表示的是温度值;"00"    预留位置;“[”    和校验位,表示从数据串的第2位开始,到故障状态位为止,所有字节      累加和的低字节      所得到的结果数据串的后面添加
例程在附件。




页: [1]
查看完整版本: 如何使用合信CTH200 PLC建立自由口通讯