永宏FBs-PLC的自由通讯协议及应用

作者:FAtek  日期:2008-7-30 10:59:29

1. 系统硬件要求

1.1 永宏FBs-PLC通讯功能
       永宏FBs-PLC提供相当强大的通讯功能,SoC单晶片中集合5个高速通讯端口。主机自带一个通讯端口。多样的扩展方式,可以选择通讯模块或者通讯板实现通讯端口的扩展,单一主机可以最多扩展至5个通讯端口;数据传输可以选择ASCII码或者速度快一倍的二进制码来传输;每个通讯端口通讯速率高达921.6Kbps;支持RS-232,RS-485,USB和Ethernet等界面;通讯协议提供永宏标准通讯协议,工业界通用的ModBus标准协议,以及自由口协议。这里我们就永宏PLC的自由通讯协议做进一步探讨。
1.2 永宏PLC自由通讯协议简介
       所谓自由通讯协议,永宏PLC作为主站,根据通讯的从站设备通讯格式来编写通讯传输数据格式,以保证通讯格式的一致性。在符合从站设备的数据格式时设备才能识别主站发送出来的命令要求,再根据命令来进行处理数据、做响应回复等工作。这样将大大提高PLC控制对象的通讯接口兼容。 

tu1.JPG

图1.1 RS-485单主多从通讯示意图

       如图1.1所示,一个永宏PLC可以跟多个智能从站进行通讯;智能从站可以同为一种设备不同品牌,或者不同设备不同品牌,例如其他品牌的PLC、变频器、智能仪表等,只要符合RS-485通讯要求即可组网。

2. 软件系统要求与设计

2.1 串行口通讯协议格式
       在串行通讯中,数据的格式一般如下图所示: 

tu2.JPG

图1.2 串行口一般通讯数据格式

       在协议中,一些通讯协议要求命令请求码,一些则不需要;从起始符到结束符,格式都相似。
起始符:表示通讯命令的开始, 常用02H表示。
地址:从站设备的地址, 范围在“00H~7FH”。
功能码:从站设备所规定的功能码,以响应主站的作动要求。
数据:根据命令码执行的数据区。
校验:为保证数据的准确可靠的通讯,协议中都设定校验码。常见的校验有CRC,CHECKSUM。
结束符:表示一笔通讯命令的完成。通常使用03H表示。
       在所使用的设备中会,做相关的协议规定和参数说明,所以我们只要依照设备的通讯格式编写通讯命令,请求从站执行命令,并根据主站是否要求做相关的回应,来完成响应。下面,我们会以与士林变频器通讯为实例,做相关的介绍。 

2.2 永宏PLC端软件设计

       永宏PLC在通讯编程方便提供相当便利的指令和编程方法。在指令方式,使用一个功能指令配合通讯表格,即可完成通讯命令。下面就对指令与表格编辑做相关介绍。永宏PLC提供两个通讯指令FUN150和FUN151,其中FUN150用于ModBus协议通讯用,这里就不做介绍,详细请参考《永宏PLC使用手册》介绍。FBs-PLC可由Por t 1、2、3 或4等四个通讯端口来作永宏多台CPU LINK联机或与具有RS-232/RS-485通讯接口的智能型外围通过通讯方式作联机整合应用。
FUN151(CLINK)通讯联机便利指令可指定那个通讯端口以何种工作模式运作共有Mode 0~ 3 四种工作模式, 其中的Mode 3 模式为〝高速LINK 网络〞模式只允许Port 2使用,其余都为“一般LINK 网络”,下表是高速LINK 与一般LINK 指令模式的差别说明。 

tu3.JPG

2.3 FUN151(CLINK)通讯联机便利指令

FUN151通讯指令梯形图符号如下:

tu4.JPG

图2.1 FUN151指令符号

说明:
EN:执行控制输入
PAU:执行暂停输入
BAT:通讯放弃输入
ACT:通讯正执行中输出
ERR:通讯出错指示输出,可以在监视中查找对应的错误码。
DN:通讯正常完成指示输出。 

另外还有通讯端口的特殊继电器和特殊寄存器,简单介绍如下。

 

tu5.JPG

       我们针对文章内容,介绍一下MD1模式的工作。对于MD2模式,主要是当要求永宏PLC被动接收其他设备后再做响应时使用,若只做接收不回应,则就不需要该模式,所以我们重点讲一下MD1的工作原理。

2.4 FUN151(CLINK):MD1 通讯联机便利指令(自由协议主动模式)
 FUN151(CLINK):MD1 模式提供永宏PLC 主动与具有RS-232/RS-485 通讯端口的智能
型外围设备联机;通讯格式由WinProladder程序编写,必须与所要联机的通讯设备一致,才能成功联机。 

2.4.1 MD1操作数SR 的说明
SR:数据传送表格的起始寄存器。即与FUN151指令中的SR对应,例如SR填写“R5000”时,则RS+0就为R5000,而RS+1即是R5001,以此类推。 

tu6.JPG

说明:1.在选择“只传送”模式时,接收信息的起始符+结束符无意义;
2.在使用“传送后接收”时,要设定好起始符和结束符,以保证通讯接收无误,通讯程序也简单有效;
3.当接收回应信息时,接收完毕后CPU将计算总接收数据的长度,填到WR+8寄存器。

2.4.2 MD1操作数WR的说明
WR:通讯指令运作占用寄存器,具体寄存器作用如下所示。 

tu7.JPG

2.4.3泛用通讯表格的编辑
       在SR的寄存器空间,对应的建立一个通讯表格,在表格中依照从站设备的通讯协议,编写通讯数据;这样很直观,很有效率就能完成从站设备通讯数据的编写。当然,用户可以对寄存器做好各项运算后,对应的填写正确数值,也能完成通讯命令的编写。例如SR+1为R5001寄存器,假设设备的起始符为02H,结束符为03H,可以直接将数据“0203H”往5001里面送.但当中运算、数据转换等的计算较表格,比较复杂,建议还是采用表格编写。
在WinProLadder程序的专案管理窗口中的“泛用通讯表格”标签上,点击右键来建立一个表格;或者可以选择FUN151指令,然后按“Z”建来建立。通过这样的操作后,会弹出“自由通讯表格”的编辑框,如下图所示。 

 

tu8.JPG

图2.2自由通讯表格
此时的表格类别固定为“泛用通讯表格”;
在表格名称中给表格起名称“自由口通讯”;不能重复。
起始地址输入与FUN151的SR起始地址一致(若是使用“Z”时,则自动为SR的起始值”)。
表格容量设定一般为动态分配,这样在添加命令时系统会自动分配空间;使用空间也不能与程序其他地方重复使用。
另外在连接PLC后,“资料由PLC加载”和“资料由ROR加载”才能生效;即表示表格资料将从PLC中提取上来。在完成上面的设定以后,表格即完成建立。

tu9.JPG

图2.3自由通讯表格

在通讯模式中,选择“只传送”或者“传送后接收回应”;即与SR中的SR+0相对应。
起始码和结束码:设定接收信息的起始符和结束符;与SR中的SR+1对应。
       在“通讯命令表格编辑”中,即要依从站设备通讯协议规定的数据格式来输入命令。通讯传送的是ACSII码,命令可以使用十进制、十六进制和字符来表示;在要用字符表示时,要使用“’”单引号引起来,表示字符的ACII码。接下内容,我们以实例应用来介绍自由通讯口的MD1主动模式的应用。 

3. 自由通讯协议的应用

 

3.1 永宏PLC与士林(SS系列)变频器通讯
3.1.1硬件配置
士林变频器提供的是RS-422/485的通讯界面,在这里永宏PLC端增加一块FBs-CB25来扩充一个RS-485的通讯界面。硬件上配线如下图所示。

tu10.JPG

图3.1永宏PLC与士林变频器通讯配线图

另外在FBs-CB25端,请设定终端电阻的拨动开关到”O”状态,表示使用终端电阻。
变频器端的通讯参数设定
控制方式来源:1(Pr31)为通讯控制
波特率:;9600(Pr32);
站号:1(Pr36);
数据位: 8BIT(Pr48);
停止位:1停止位(Pr49);
校验:无校验(Pr50);
CR校验(Pr51)
将波特率、停止位、数据位、校验设定与PLC端的Por2口一致,其他参数根据需要做调整。

3.1.2士林变频器通讯协议

tu11.JPG

○1上位机通讯请求;
○2等待时间
○3变频器回应数据
○4上位机处理时间
○5上位机回复数据 
3.1.3变频器通讯数据格式
1, 上位机至变频器通讯要求(我们针对内容只介绍格式A:写资料至变频器。其他从略)。 

tu12.JPG

2, 资料写入时,变频器回应数据格式

tu13.JPG

 
其中句柄说明(ASCII CODE)
STX----H02 ETX----H03 ENQ----H05 ACK----H06
CR-----H0D NAK---H15 LF------ H0A
另外,SUM-CHECK计算范围为:从站号开始到资料的的低字节结束数据的ASCII码总和;取低字节部分。计算范例如下: 

tu14.JPG

其他通讯格式请参考士林变频器使用手册。

3.1.4通讯控制字

 

tu15.JPG

依据以上通讯协议规定,可以得到控制变频的运行和停止控制命令如下。
 
3.1.5 PLC程序输入
正转命令 :当FAH的资料为“2”时变频器正转。数据格式如下: 

tu16.JPG

停止命令 :当FAH的资料为“0”时变频器正转。数据格式如下:

tu17.JPG

根据以上的命令 在软件中编写程序如下。

程序部分:

tu18.JPG

图3.2永宏PLC通讯程序示意图
表格部分:

tu19.JPG

图3.3永宏PLC通讯表格示意图

       从R5003开始到R5015,共有13个寄存器,则系统将自动将数据长度13填写到R5002中:“0DH”(ASCII码)。
另外通讯数据的校验码,可以通过拖选“资料预览”中的数据范围来计算。如该正转命令的数据校验总和值为R5004~R5012,在拖选中该范围后,表格底下的“总和值(字节)=”将计算得到“D9”。

3.1.6 PLC程序执行
       到这,控制变频器正转命令编辑完毕。这样,我们运行PLC。将M1接点至ON后,PLC将通讯数据送达变频器。此时,变频器将正转运行!同时变频器将向PLC回应数据到WR中。回应数据如下: 

 

tu20.JPG

 

4. 结束语 
       综上,我们就自由通讯的主动模式做了介绍,由于篇幅问题,请读者自行测试控制变频器停止命令,以及自由通讯的MD2被动模式,请客户自行参考永宏PLC相关使用手册的介绍。永宏PLC强大的通讯能力,便利的编程方法,几乎可以兼容所有智能通讯设备。极大程度的提高可编程控制器的接口兼容性,使得客户在选型、系统配置上大大的提供便利性。


参考文献:
[1] 永宏可编程控制器使用手册I 和使用手册II.台湾永宏电机股份有限公司
[2] 永宏PLC编程软件使用手册.台湾永宏电机股份有限公司
[3] 士林变频器SS系列使用手册.苏州士林电机有限公司

作者简介:
孙恒孝(1980- ),毕业于合肥工业大学自动化系
主要从事PLC行业的技术支持与行业应用工作

Write a comment

Comments: 0