西门子S1200与RKC多表485通信
件连接:CB 1241 RS485 模块与RKC表接:
PLC 485块参数,只设定IO-Link 他参数默认
RKC的温度显示值比简单写入设定值相对复杂为写入时要有校和计算。
介绍读操作:
为有三块表,做一个循环读,每秒读一块表。
把要发送块表读的数据装一个字符串地址"R_send".stringa中,
RKC表要发送读的表址和数名,在PLC中起始符EOT用$04示,结束符ENQ用$05示。
RCk通信有个发送延迟,以设定一个读取时间每秒循环地加1读取间设0.8S
避免数据重复保读取发送定"Clock_5Hz"冲每0.2发送,这样在0.8内大约读4,保证这秒周期内读到的是当前地址的表温度值。如备现场有干扰信波特率可以设定更低的周期。
发送前加上写数据断。使用SEND_PTP 指令发送数据,择好
RKC表读取操作的字符串一共是6个,送后的完成信号触发接收指令RCV_PTP信正常RKC表会返回一个人11的字符串,
收到的数据用符串取指MID取当前温度值,如果需要还可以再转换成实数。
后复位接收。
环读取当前温度就做好,因为我这个测试现场干扰非常大通信波特率只能到4800,为了保证数据准确秒钟给每块表多读几
面介绍发送
送设定到RKC表到麻烦一点,因为要有校和,BCC 为校验和 它是从参数名开始到 ETX 为止的各个 ASCII 字符的半加和
为每次写入设定的温度值都不一样,所以需要对些数据做验和。
做一个在触摸上改变了设定温度就需要写的程序。样只触摸屏上改变设定温度触发写入,当要写入时就断开读取
每块表的地址接用六进制示字符串,s开头的英文名每块表的写入度值之后都要再转换成字符串发送。
写数据前加一个PLC上电延迟10秒钟,