一、 通讯协议:
串行 RS485(半双工)通讯,传输距离≤1200米。
波特率9600bt,8位数据位,1位停止位,无奇偶校验位。用ASCII码发送。
发:68H,3XH,3XH,31H,31H,30H,30H (取当前参数)
假设地址是 01
发送数据帧是不是 68 30 31 31 31 30 30?
ASCII码发送有什么特别的区别吗?不明白为何要注明是ASCII码发送,请高手指教,我是要485读读流量计 ,最好能解析清楚ASCII码的区别之处。
问题补充:
没人回答我发的数据帧对吗 我用串口以16进制数发送的。
另外,以ASCII码来发送68H,是占一个字节还是一个字,在PLC里需要处理吗?怎么处理?
最佳答案
“用ASCII码发送”是通讯协议规定的,至于为什么要用ASCII码来进行处理,可以参考一下:
“在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,象a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。”(百度百科里复制过来的)
通过PLC可以一个字节一个字节的来发送ASCII码,用到的指令时MOVE,如果你发送的是68 30 31 31 31 30 30,那么接收设备显示出来的就是D 0 1 1 1 0 0;也可以一次性发送4个字节,用到的指令时ITA,如果你发送的是1234,那么接收设备也将显示1234。
提问者对于答案的评价:
hao
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc320893.html