永宏FBs-PLC的自由通讯协议及应用
- 格式:pdf
- 大小:812.67 KB
- 文档页数:11
永宏可程控器永宏P L C通讯协议永宏电机股份有限公司FATEK AUTOMATION CORP.永宏P L C通讯协议目录1:主仆定位与通讯互动关系 (1)2:永宏PLC通讯讯息格式 (1)3:永宏PLC之通讯错误码 (2)4:通讯命令功能详述 (3)4.1组件类别及其指定方法 (3)4.2通讯命令说明 (4)命令40:PLC概略状态读取 (6)命令41:PLC之RUN/STOP控制 (7)命令42:单一个单点之运作控制 (8)命令43:连续多个单点之抑/致能状态读取 (9)命令44:连续多个单点之状态读取 (10)命令45:连续多个单点之状态写入 (11)命令46:连续多个缓存器之资料读取 (12)命令47:连续多个缓存器之资料写入 (13)命令48:任意单点/缓存器混合之状态/资料读取 (14)命令49:任意单点/缓存器混合之状态/资料写入 (15)命令4E:测试回传 (16)命令4F:程序存盘 (17)命令50:程序加载 (18)命令53:PLC详细系统状态读取 (19)永宏P L C 通讯协定本通讯协议(Protocol)是永宏P LC主机上各通讯端口在标准通讯模式下均适用之通讯协议,任何对PLC之资料存取(自PLC内部读出或由外界写入PLC)或运作、控制等,除在硬件联机及通讯参数设定必需通讯双方一致外,在通讯讯息格式(Messa ge for ma t)方面亦必需符合本通讯协议之格式P LC才能正确响应。
在介绍通讯协议之前首先需了解永宏P LC 和与其通讯之外围设备间之角色与互动关系。
1.主仆定位与通讯互动关系在永宏PLC之通讯架构上,永宏P LC是被定位为仆系统(SLAVE)而任何与永宏P LC 联机之外围设备均为主系统(M AST ER),也就是说任何外围设备与永宏PLC间之通讯均是由主系统(外围设备)来主动发出命令,仆系统(永宏P LC)只有在收到命令讯息后才依该命令之要求响应讯息给主系统,而不能主动发出讯息给主系统,如下之关系图所示:开头字符(ST X):A SCI I码之开始字符ST X之16进制码数为02H,无论命令或响应讯息之开头字符均为ST X,接收方以此判知传输资料之开头。
一、命令格式。
二、通讯命令代码
命令符命令说明读取长度
40H PLC 概略系统状态读取
41H PLC 的RUN/STOP 控制
42H单一个单点的操作控制 1点
43H连续多个单点的抑/致能状态读取 1~ 256 点
44H连续多个单点的状态读取 1~ 256 点
45H连续多个单点的状态写入 1~ 256 点
46H连续多个缓存器的数据读取 1~ 64Words
47H连续多个缓存器的数据写入 1~ 64Words
48H任意单点/缓存器混合的状态/数据读取 1~ 64 点或Words 49H任意单点/缓存器混合的状态/数据写入 1~ 32 点或Words 4EH测试回传 0~ 256 字符
53H PLC详细系统状态读取
三、命令说明
1、连续多个缓存器的数据读取(46H)
电脑发送:
PLC响应:
2、连续多个缓存器的数据写入(47H)电脑发送:
PLC响应:。
永宏PLC利用MODBUS实现控制多台变频器系统的设计1.引言虽然变频器广泛应用于各行各业,但因其显示面板简单,且在对数据的处理、计算、保存等方面存在弱点,在一定程度上影响了变频器在复杂控制系统中的应用。
不过,通讯技术与变频器相结合可以弥补这些缺点,可以利用PLC与变频器之间的通讯功能实现远程控制,同时增强了变频器对数据处理,故障报警等方面的功能。
本文以污水处理控制系统为例,介绍利用MODBUS通讯协议实现永宏PLC控制3台变频器运行系统,使得电机转速、方向、转矩以及变频器运行参数等控制变得十分容易和精确。
先前的控制是采用3台变频器分别控制3台牵引电机,其转速给定是由操作面板上的操作电位器的旋转给变频器一个0——10V的电流信号,这种方式缺点是:(1)各变频器运行参数无法准确在运行中获得;(2)控制电位器由于经常旋转操作频繁,使得故障率增高;(3)由于变频器一般安装在控制柜中,较难得到其面板上的频率信息;(4)改变其运行参数,需手动多次调试;(5)自动化程度不高。
因此,必需在控制方式上加以改进,采用PLC控制,利用MODBUS通讯实现用PLC控制和监控变频器的运行。
2.相关系统构成及配置系统采用台湾永宏股份电机有限公司的FBs-60MCT型PLC作为主控制器;TVF2000系列变频器用于传动控制;HITECH PWS3261触摸屏用于人-机信息交换。
相关系统构成框图如图1所示。
在该系统中,PLC的Port 2和变频器构成MODBUS总线,通过PLC去控制三台变频器完成系统控制需要,实现对变频器的速度设定、运行状态监控及参数交换等。
3.ModBus通讯协议ModBus通讯协议,是一种串行的、非同步的主从通讯协议,网络中只有一个设备能够建立协议,其它的设备只能通过提供数据响应主机的查询,或根据查询做出相应的动作。
M odBus协议定义了主机查询的格式,其包括:主从机的编址方法(或广播),要求动作的功能代码,传输数据和错误校验等,或不能完成主机要求的动作,它将组织一个故障作为响应。
引言电子技术的日益发展,通讯接口给工业控制的自动化集中控制带来巨大的变化,系统的分布控制,网络的远程监控等都是通过通讯来实现监控。
各个智能设备之间要进行正常通讯,首先要保证以下3个条件一致:通讯硬件界面相同;通讯参数设置一致;以及通讯协议一致。
在串口的通讯中,界面都已经是标准化,参数设定亦可透过设定来保持一致。
但在智能自动化设备中,由于品牌和产品都存在差异,对于同一种产品,不同的品牌就可能存在不同的通讯协议!所以,智能设备的通讯,设备的选择是关键!但针对同种协议的产品,就有可能缩小设备选型范围,势必会对系统的组成存在影响。
如造成成本的提升,系统得不到优化等问题。
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 控制对象的通讯接口兼容。
图1.1 RS-485单主多从通讯示意图如图1.1所示,一个永宏PLC可以跟多个智能从站进行通讯;智能从站可以同为一种设备不同品牌,或者不同设备不同品牌,例如其他品牌的PLC、变频器、智能仪表等,只要符合RS-485通讯要求即可组网。
永宏PLC的无线通信方案在这里介绍一种永宏PLC的无线组态通信的实现方法。
本方案可以作为FATEK永宏PLC与SamKoon触摸屏的无线门禁通信实例。
本方案中采用了专门用于无线通信的智能数据终端DTD433M。
一、PLC与PC及触摸屏的通信方式面对众多生产厂家的各种类型PLC在形态、功能和编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。
PLC通信包括PLC间的通信及PLC与其他智能设备间的通信。
随着计算机控制技术的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。
新近生产的PLC都具有通信接口,通信非常方便。
目前,主要采用以下三种方式实现PLC与PC或者触摸屏的互联通信:(1) 通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。
但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。
可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
(2) 使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。
组态软件以其功能强大、界面友好、开发简洁等优点目前在PC 监控领域已经得到了广泛的应用,但是一般价格比较昂贵。
组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。
也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。
但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。
(3) 利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。
Fatek PLC与FUJI驱动器Modbus RTU通讯技术文档MODBUS作为工业现场总线有着不可替代的优越性和实用性。
永宏FATEK FBS系列PLC最多可支持5个通讯端口,除了PROT0端口只能为永宏自定协议外其他4个端口均可配置为其他通讯协议(包括MODBUS协议),接下来将讲解如何让FBS PLC与FUJI驱动器作MODBUS- RTU通讯………….硬件配置◆一台永宏FBS系列PLC(如FBS-44MNT,带一个RS485通讯口)◆一台FUJI ALPHA Smart5系列驱动器(RJ45口,MODBUS-RTU协议)◆一根8芯网线,一端保持为RJ45水晶头,一端剪断连接PLCRS485口(接线图如下)接线图说明:水晶头端3号和5号端短接在一起接到PLC RS485口的数据+端,水晶头端4号和6号端短接在一起接到PLC RS485口的数据-端,水晶头端2号接在PLC RS485的G端(地端)。
通讯时应尽量避免干扰对通讯造成的影响,通讯距离也不应该太长(控制在100米以内为最好)通讯参数设置◆PLC侧:1.联机→PLC→设定→选择相应端口进行通讯参数的设定2.生成通讯表格◆驱动器侧:PA2_97=1(选择MODBUS-RTU通讯协议)PA2_72=1(设定驱动器站号为1,可设置成1-31) PA2_73=0(选择波特率为38400)PA2_93=0(偶校验,结束位1bit)PA2_94=0(响应时间设定,建议默认)PA2_95=0(通信超时设定,0为不检测超时,建议默认)通讯注意事项◆有效驱动器地址为实际驱动器地址+400001(例:现要读取驱动器地址为2200H=8704的数据,实际PLC应读400001+8704=408705地址处的数据)◆PLC对驱动器进行一次读写的数据都为32bit的数据◆PLC通讯表格里面的存放数据的地址为高16bit(例:PLC读取驱动器2200H处的数据存放在R1000处,那么实际读回来的数据的低16bit存放在R1001处,高16bit存放在R1000处。
永宏FBs-PLC的自由通讯协议及应用引言电子技术的日益发展,通讯接口给工业控制的自动化集中控制带来巨大的变化,系统的分布控制,网络的远程监控等都是通过通讯来实现监控。
各个智能设备之间要进行正常通讯,首先要保证以下3个条件一致:通讯硬件界面相同;通讯参数设置一致;以及通讯协议一致。
在串口的通讯中,界面都已经是标准化,参数设定亦可透过设定来保持一致。
但在智能自动化设备中,由于品牌和产品都存在差异,对于同一种产品,不同的品牌就可能存在不同的通讯协议!所以,智能设备的通讯,设备的选择是关键!但针对同种协议的产品,就有可能缩小设备选型范围,势必会对系统的组成存在影响。
如造成成本的提升,系统得不到优化等问题。
现就针对通讯协议,介绍永宏PLC的自由口通讯协议做介绍。
即通过自由协议,可以跟任何一个智能设备进行连接,进行数据的传输。
大大方便了技术人员的选型,更有利控制系统的优化,性价比的提升!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控制对象的通讯接口兼容。
图1.1 RS-485单主多从通讯示意图如图1.1所示,一个永宏PLC可以跟多个智能从站进行通讯;智能从站可以同为一种设备不同品牌,或者不同设备不同品牌,例如其他品牌的PLC、变频器、智能仪表等,只要符合RS-485通讯要求即可组网。
[:page:]2. 软件系统要求与设计2.1 串行口通讯协议格式在串行通讯中,数据的格式一般如下图所示:图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 指令模式的差别说明。
2.3 FUN151(CLINK)通讯联机便利指令FUN151通讯指令梯形图符号如下:图2.1 FUN151指令符号说明:EN:执行控制输入PAU:执行暂停输入BAT:通讯放弃输入ACT:通讯正执行中输出ERR:通讯出错指示输出,可以在监视中查找对应的错误码。
DN:通讯正常完成指示输出。
[:page:]另外还有通讯端口的特殊继电器和特殊寄存器,简单介绍如下。
我们针对文章内容,介绍一下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,以此类推。
说明:1.在选择“只传送”模式时,接收信息的起始符+结束符无意义;2.在使用“传送后接收”时,要设定好起始符和结束符,以保证通讯接收无误,通讯程序也简单有效;3.当接收回应信息时,接收完毕后CPU将计算总接收数据的长度,填到WR+8寄存器。
2.4.2 MD1操作数WR的说明WR:通讯指令运作占用寄存器,具体寄存器作用如下所示。
[:page:]2.4.3泛用通讯表格的编辑在SR的寄存器空间,对应的建立一个通讯表格,在表格中依照从站设备的通讯协议,编写通讯数据;这样很直观,很有效率就能完成从站设备通讯数据的编写。
当然,用户可以对寄存器做好各项运算后,对应的填写正确数值,也能完成通讯命令的编写。
例如SR+1为R5001寄存器,假设设备的起始符为02H,结束符为03H,可以直接将数据“0203H”往5001里面送.但当中运算、数据转换等的计算较表格,比较复杂,建议还是采用表格编写。
在WinProLadder程序的专案管理窗口中的“泛用通讯表格”标签上,点击右键来建立一个表格;或者可以选择FUN151指令,然后按“Z”建来建立。
通过这样的操作后,会弹出“自由通讯表格”的编辑框,如下图所示。
图2.2自由通讯表格此时的表格类别固定为“泛用通讯表格”;在表格名称中给表格起名称“自由口通讯”;不能重复。
起始地址输入与FUN151的SR起始地址一致(若是使用“Z”时,则自动为SR的起始值”)。
表格容量设定一般为动态分配,这样在添加命令时系统会自动分配空间;使用空间也不能与程序其他地方重复使用。
另外在连接PLC后,“资料由PLC加载”和“资料由ROR加载”才能生效;即表示表格资料将从PLC中提取上来。
在完成上面的设定以后,表格即完成建立。
图2.3自由通讯表格在通讯模式中,选择“只传送”或者“传送后接收回应”;即与SR中的SR+0相对应。
起始码和结束码:设定接收信息的起始符和结束符;与SR中的SR+1对应。
在“通讯命令表格编辑”中,即要依从站设备通讯协议规定的数据格式来输入命令。
通讯传送的是ACSII码,命令可以使用十进制、十六进制和字符来表示;在要用字符表示时,要使用“’”单引号引起来,表示字符的ACII码。
接下内容,我们以实例应用来介绍自由通讯口的MD1主动模式的应用。
[:page:]3. 自由通讯协议的应用3.1 永宏PLC与士林(SS系列)变频器通讯3.1.1硬件配置士林变频器提供的是RS-422/485的通讯界面,在这里永宏PLC端增加一块FBs-CB25来扩充一个RS-485的通讯界面。
硬件上配线如下图所示。
图3.1永宏PLC与士林变频器通讯配线图另外在FBs-CB25端,请设定终端电阻的拨动开关到”O”状态,表示使用终端电阻。
变频器端的通讯参数设定控制方式来源:1(Pr31)为通讯控制波特率:;9600(Pr32);站号:1(Pr36);数据位:8BIT(Pr48);停止位:1停止位(Pr49);校验:无校验(Pr50);CR校验(Pr51)将波特率、停止位、数据位、校验设定与PLC端的Por2口一致,其他参数根据需要做调整。
3.1.2士林变频器通讯协议○1上位机通讯请求;○2等待时间○3变频器回应数据○4上位机处理时间○5上位机回复数据3.1.3变频器通讯数据格式1,上位机至变频器通讯要求(我们针对内容只介绍格式A:写资料至变频器。
其他从略)。
2,资料写入时,变频器回应数据格式其中句柄说明(ASCII CODE)STX----H02 ETX----H03 ENQ----H05 ACK----H06CR-----H0D NAK---H15 LF------ H0A另外,SUM-CHECK计算范围为:从站号开始到资料的的低字节结束数据的ASCII码总和;取低字节部分。
计算范例如下:其他通讯格式请参考士林变频器使用手册。
[:page:]3.1.4通讯控制字依据以上通讯协议规定,可以得到控制变频的运行和停止控制命令如下。
3.1.5 PLC程序输入正转命令:当FAH的资料为“2”时变频器正转。
数据格式如下:停止命令:当FAH的资料为“0”时变频器正转。
数据格式如下:根据以上的命令在软件中编写程序如下。
程序部分:图3.2永宏PLC通讯程序示意图表格部分:图3.3永宏PLC通讯表格示意图从R5003开始到R5015,共有13个寄存器,则系统将自动将数据长度13填写到R5002中:“0DH”(ASCII码)。
另外通讯数据的校验码,可以通过拖选“资料预览”中的数据范围来计算。
如该正转命令的数据校验总和值为R5004~R5012,在拖选中该范围后,表格底下的“总和值(字节)=”将计算得到“D9”。
[:page:]3.1.6 PLC程序执行到这,控制变频器正转命令编辑完毕。
这样,我们运行PLC。
将M1接点至ON后,PLC将通讯数据送达变频器。
此时,变频器将正转运行!同时变频器将向PLC回应数据到WR中。
回应数据如下:4. 结束语综上,我们就自由通讯的主动模式做了介绍,由于篇幅问题,请读者自行测试控制变频器停止命令,以及自由通讯的MD2被动模式,请客户自行参考永宏PLC相关使用手册的介绍。
永宏PLC强大的通讯能力,便利的编程方法,几乎可以兼容所有智能通讯设备。
极大程度的提高可编程控制器的接口兼容性,使得客户在选型、系统配置上大大的提供便利性。