电工基础知识_电工技术-电工最常见电路移动版

电工基础主页 > plc编程入门

PLC与变频器通讯程序的编写

通讯流程的回顾。
我们可以回顾下,PLC与变频器,或者是其他硬件之间,例如触摸屏与PLC等,
在进行RS232或RS485通讯前,第一步要做什么?
对的,设置两者间的通讯参数。
波特率,停止位,效验位等等,必须保持一致。
我们参数设置了,也仅仅是设置了,自己编写程序时并不需要关心这些参数。
这是设置给系统低层软硬件用的。
我们知道在低层硬件上,数据是按二进制位(bit)发送和接收。
这些二进制数据收发如何保持同步,如何实现,由系统根据设置的通讯参数实现。
所以我们编程时并不需要理会。
PLC与变频器通讯程序的编写
通讯程序的编写。
数据传递过程是以二进制形式进行的,但数据的具体的表现格式是比较随意的。
比如一个通讯帧由哪几个部分组成,校验码放在哪个部分,
是以ASCII码数据表示,还是16进制数据表示,
都可以任意人为的规定。
比如profi_bus,mod_bus,ai_bus是厂家开发的协议,
我们要通过这些协议实现硬件通讯,
编写程序时,就得按照协议规定来办事。
协议规定要用ACSII码,我们也没的选择。
比如永宏PLC规定要用ASCII来通讯。
PLC与变频器通讯程序的编写
又比如宇电的AI_BUS规定要使用十六进制格式来通讯。
PLC与变频器通讯程序的编写
再比如我们通过触摸屏的宏指令来实现与C++自由通讯时,
通讯格式就可以由我们自个儿任意规定,
两端的数据按自己的约定来打包与解析就好。
为什么plc向变频器写频率时不用转换成ACSII码的?
有了以上的了解,就比较好理解这个问题了。
需不需要转换成ASCII码,就得看变频器硬件厂家的通讯协议规定了。
只有按照变频器的的规定向它发送数据,人家才能够知道如何解析指令。
例如三菱变频器DR-D700,使用MODBUS_RTU通讯规格。
我们知道Modbus协议对于串行连接,
有分Modbus RTU,Modbus ASCII两种。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,
Modbus ASCII是一种人类可读的,冗长的表示方式。
人家不使用ASCII形式,我们自然就不用再将数据转换成ACSII码了。

(责任编辑:admin)
    相关文章