imgboxbg

技术应用
Application

tb

hh

/
/
-
三菱FX3U PLC 通用串口通信在MODBUS环境中的应用

资讯详情

三菱FX3U PLC 通用串口通信在MODBUS环境中的应用

  • 分类:列举工程实例
  • 作者:
  • 来源:
  • 发布时间:2013-08-07 03:49
  • 访问量:

【概要描述】在工业控制中,可编程控制器(PLC)由于控制灵活、可靠性高、抗干扰能力强、体积小、使用方便等优点而得到了广泛的应用,已经成为现代工业控制的主要技术平台之一。PLC作为工业控制网络中的一个节点,它通常处于现场设备和上位机之间。这就要求PLC在上位机和现场设备之间具有良好的适应性。         实际应用中往往上位机与PLC之间的通信方式需要服从已有的协议(如MODBUS等),而PLC的专用通信模块由于需求数量的原因,并受制于供货周期等因素无法在规定时间内到位。本文以某生产线中PLC通用RS232模块与上位机之间MODBUS通信的实现为基础,探讨通用RS232接口的MODBUS通信实现问题。系统框图如图1。  图1 系统的总体框图 2、方案概述         在许多纺织、化工工业生产线控制系统中,开关量较少,主要是生产线上多个变频器的控制,考虑到系统造价和可靠性等因素,采用三菱FX3U系列PLC可满足要求。上位机方面:通过MODBUS协议,上位机要监视多条生产线的运行状态并对现场设备的运转进行参数的给定或调整,PLC收到操作指令后要对现场设备进行相应操作并将现场情况根据上位机要求进行反馈。本方案中的FX3U系列PLC具有专用MODBUS通信接口模块,但项目实施过程中由于需求数量少,供货中期过长,在权衡各因素后,决定采用通用通信接口编程的方法来实现MODBUS通信。         FX3U系列的RS232端口模块具有并联链接、计算机链接、无协议等通信方式;因并联链接、计算机链接通信方式都是固化的通信协议,与MODBUS不兼容,所以本系统只能采用无协议通信方式。         根据系统需要,MODBUS协议采用RTU传输模式。上位机为主站,向从站发送查询或写入指令;所有PLC作为从站,根据主站发出的信息和协议采取规定的操作。 3、工控机与FX3U通信规约         上位机主要的控制功能有读寄存器区如表1(读出当前PLC的通信参数、变频器运行频率以及其输出电压和电流),写寄存器区如表2(对PLC通信参数和多个变频器的运行进行集中控制),写单个寄存器的状态(包括PLC通信参数的单独设定、单个变频器的启停和频率设定)和广播设备启停控制。上位机通信规约如下。 表1 功能码03H 读寄存器规约 表2 功能码10H写寄存器通信规约 控制单个变频器的启停协议为: 命令:ADDR 06H 开始地址 DATA CRC 响应:同命令。 控制所有变频器的启停协议为: 命令:ADDR 10H 00H 10H 00H 0AH DATA CRC 响应:ADDR 10H 00H 10H 00H 0AH CRC 4、PLC通信程序 4.1 通信端口初始化         初始化部分主要实现对系统的基本参数进行设定,包括通信波特率、数据格式、通信发送接收缓冲区的设定等,代码如下。 LD M8000 MOV H1C81 D8120 /*通信默认值设定,9600bps,8 数据位、无校验,1停止位*/ MOV K7 D8121 /*本站站号默认值设定*/ MOV K10 D8129 /*超时时间设定8*/ ANI M8000 OUT M8161 /*该端口通信采用8位模式*/ RS D500 D107 D400 K100 K1/* 通信通道,启始、终止位和数据长度设定*/ 4.2 控制主程序   图2 主程序程序流程图         主程序的主要功能是在通信完成以后对接收的数据进行CRC校验,校验结果与上位机发送的校验码比较,确定通信过程中是否有错误;并对符合条件的指令进行判断,调用不同功能的子程序,实现相应的任务。程序流程如图2。 MOV D8423 D108 WTOB D400 D110 K8 SUB D108 K2 D101 CRC D400 D100 D101 /*校验后数据存储于D100*/ CMP D8421 D110 M11 /*地址验证,若正确,M12置ON*/ AND= D110 K0 AND= D111 K16 CALL P1 /*广播起停调用*/ LD M12 MPS AND= D111 K3 AND= D100 D403 CALL P3 /*CRC校验成功,读取寄存器子程序调用*/ MRD AND= D111 K6 CALL P6 /*预置单寄存器子程序调用*/ MRD AND= D111 K16 BMOV D400 D600 K60 MRD AND= D111 K16 DIV D108 K2 D94 MRD AND= D111 K16 SUB D94 K1 D95 MRD AND= D111 K16 FDEL D97 D600 D95 MPP AND= D111 K16 AND= D97 D100 CALL P16 /*多寄存器写入子程序调用*/ 4.3 写寄存器子程序         该子程序根据寄存器的地址确定采取的操作,主要的功能有远程修改PLC的站号、波特率,设定变频器输出频率、启停控制和相应信息的返回。程序代码如下。 LD M8123 SET M7 LD M7 MPS AND= D401 H0 MOV D402 D0 MOV D114 D8121 /*站号设定*/ MPS AND= D115 H3 MOV H1C51 D8120 /*波特率设定*/ MRD AND= D401 H1 /*变频器频率设定*/ MOV D402 D1 MPP SET M21 /*变频器启停控制*/ LD M7 BMOV D400 D500 K4 SET M8122 /*数据发送*/  LD M7 RST M8123 RST M7 /*复位*/ 4.4 注意事项         该方案在应用规划初期需要根据PLC的运算能力、运算速度和任务的复杂程度以及上位机指定的超时时间确定。因为FX3U作为微型PLC(其他类似微型PLC同样需要主义),它的处理能力和处理速度不是很快,如果PLC要完成的控制功能较复杂或者需要用其运行一些控制算法的话,扫描周期可能就已经超过上位工控机规定的超时时间,造成即使PLC能收到控制信息并按照要求进行相应反馈,也会造成上位机判断该站通信超时。这是关系到该方案能否可行的一个关键要素。 5、结论         MODBUS--RTU协议在工业控制领域有着广泛的应用。在工程设计和实施的过程中往往需要新的控制设备融合到已有的控制网络中,除了配置专用通信模块外,使用通用硬件,通过软件编程实现其功能也是不错的选择。另外,该程序在采用RS485进行上位机与PLC的通信时同样适用。

三菱FX3U PLC 通用串口通信在MODBUS环境中的应用

【概要描述】在工业控制中,可编程控制器(PLC)由于控制灵活、可靠性高、抗干扰能力强、体积小、使用方便等优点而得到了广泛的应用,已经成为现代工业控制的主要技术平台之一。PLC作为工业控制网络中的一个节点,它通常处于现场设备和上位机之间。这就要求PLC在上位机和现场设备之间具有良好的适应性。

        实际应用中往往上位机与PLC之间的通信方式需要服从已有的协议(如MODBUS等),而PLC的专用通信模块由于需求数量的原因,并受制于供货周期等因素无法在规定时间内到位。本文以某生产线中PLC通用RS232模块与上位机之间MODBUS通信的实现为基础,探讨通用RS232接口的MODBUS通信实现问题。系统框图如图1。 



图1 系统的总体框图


2、方案概述

        在许多纺织、化工工业生产线控制系统中,开关量较少,主要是生产线上多个变频器的控制,考虑到系统造价和可靠性等因素,采用三菱FX3U系列PLC可满足要求。上位机方面:通过MODBUS协议,上位机要监视多条生产线的运行状态并对现场设备的运转进行参数的给定或调整,PLC收到操作指令后要对现场设备进行相应操作并将现场情况根据上位机要求进行反馈。本方案中的FX3U系列PLC具有专用MODBUS通信接口模块,但项目实施过程中由于需求数量少,供货中期过长,在权衡各因素后,决定采用通用通信接口编程的方法来实现MODBUS通信。

        FX3U系列的RS232端口模块具有并联链接、计算机链接、无协议等通信方式;因并联链接、计算机链接通信方式都是固化的通信协议,与MODBUS不兼容,所以本系统只能采用无协议通信方式。

        根据系统需要,MODBUS协议采用RTU传输模式。上位机为主站,向从站发送查询或写入指令;所有PLC作为从站,根据主站发出的信息和协议采取规定的操作。

3、工控机与FX3U通信规约

        上位机主要的控制功能有读寄存器区如表1(读出当前PLC的通信参数、变频器运行频率以及其输出电压和电流),写寄存器区如表2(对PLC通信参数和多个变频器的运行进行集中控制),写单个寄存器的状态(包括PLC通信参数的单独设定、单个变频器的启停和频率设定)和广播设备启停控制。上位机通信规约如下。

表1 功能码03H 读寄存器规约


表2 功能码10H写寄存器通信规约


控制单个变频器的启停协议为:
命令:ADDR 06H 开始地址 DATA CRC
响应:同命令。
控制所有变频器的启停协议为:
命令:ADDR 10H 00H 10H 00H 0AH DATA CRC
响应:ADDR 10H 00H 10H 00H 0AH CRC

4、PLC通信程序

4.1 通信端口初始化

        初始化部分主要实现对系统的基本参数进行设定,包括通信波特率、数据格式、通信发送接收缓冲区的设定等,代码如下。
LD M8000
MOV H1C81 D8120 /*通信默认值设定,9600bps,8
数据位、无校验,1停止位*/
MOV K7 D8121 /*本站站号默认值设定*/
MOV K10 D8129 /*超时时间设定8*/
ANI M8000
OUT M8161 /*该端口通信采用8位模式*/
RS D500 D107 D400 K100 K1/*
通信通道,启始、终止位和数据长度设定*/

4.2 控制主程序

 

图2 主程序程序流程图


        主程序的主要功能是在通信完成以后对接收的数据进行CRC校验,校验结果与上位机发送的校验码比较,确定通信过程中是否有错误;并对符合条件的指令进行判断,调用不同功能的子程序,实现相应的任务。程序流程如图2。
MOV D8423 D108
WTOB D400 D110 K8
SUB D108 K2 D101
CRC D400 D100 D101 /*校验后数据存储于D100*/
CMP D8421 D110 M11 /*地址验证,若正确,M12置ON*/
AND= D110 K0
AND= D111 K16
CALL P1 /*广播起停调用*/
LD M12
MPS
AND= D111 K3
AND= D100 D403
CALL P3 /*CRC校验成功,读取寄存器子程序调用*/
MRD
AND= D111 K6
CALL P6 /*预置单寄存器子程序调用*/
MRD
AND= D111 K16
BMOV D400 D600 K60
MRD
AND= D111 K16
DIV D108 K2 D94
MRD
AND= D111 K16
SUB D94 K1 D95
MRD
AND= D111 K16
FDEL D97 D600 D95
MPP
AND= D111 K16
AND= D97 D100
CALL P16 /*多寄存器写入子程序调用*/

4.3 写寄存器子程序

        该子程序根据寄存器的地址确定采取的操作,主要的功能有远程修改PLC的站号、波特率,设定变频器输出频率、启停控制和相应信息的返回。程序代码如下。
LD M8123
SET M7
LD M7
MPS
AND= D401 H0
MOV D402 D0
MOV D114 D8121 /*站号设定*/
MPS
AND= D115 H3
MOV H1C51 D8120 /*波特率设定*/
MRD
AND= D401 H1 /*变频器频率设定*/
MOV D402 D1
MPP
SET M21 /*变频器启停控制*/
LD M7
BMOV D400 D500 K4
SET M8122 /*数据发送*/ 
LD M7
RST M8123
RST M7 /*复位*/

4.4 注意事项

        该方案在应用规划初期需要根据PLC的运算能力、运算速度和任务的复杂程度以及上位机指定的超时时间确定。因为FX3U作为微型PLC(其他类似微型PLC同样需要主义),它的处理能力和处理速度不是很快,如果PLC要完成的控制功能较复杂或者需要用其运行一些控制算法的话,扫描周期可能就已经超过上位工控机规定的超时时间,造成即使PLC能收到控制信息并按照要求进行相应反馈,也会造成上位机判断该站通信超时。这是关系到该方案能否可行的一个关键要素。

5、结论

        MODBUS--RTU协议在工业控制领域有着广泛的应用。在工程设计和实施的过程中往往需要新的控制设备融合到已有的控制网络中,除了配置专用通信模块外,使用通用硬件,通过软件编程实现其功能也是不错的选择。另外,该程序在采用RS485进行上位机与PLC的通信时同样适用。

  • 分类:列举工程实例
  • 作者:
  • 来源:
  • 发布时间:2013-08-07 03:49
  • 访问量:
详情

在工业控制中,可编程控制器(PLC)由于控制灵活、可靠性高、抗干扰能力强、体积小、使用方便等优点而得到了广泛的应用,已经成为现代工业控制的主要技术平台之一。PLC作为工业控制网络中的一个节点,它通常处于现场设备和上位机之间。这就要求PLC在上位机和现场设备之间具有良好的适应性。

        实际应用中往往上位机与PLC之间的通信方式需要服从已有的协议(如MODBUS等),而PLC的专用通信模块由于需求数量的原因,并受制于供货周期等因素无法在规定时间内到位。本文以某生产线中PLC通用RS232模块与上位机之间MODBUS通信的实现为基础,探讨通用RS232接口的MODBUS通信实现问题。系统框图如图1。 



图1 系统的总体框图


2、方案概述

        在许多纺织、化工工业生产线控制系统中,开关量较少,主要是生产线上多个变频器的控制,考虑到系统造价和可靠性等因素,采用三菱FX3U系列PLC可满足要求。上位机方面:通过MODBUS协议,上位机要监视多条生产线的运行状态并对现场设备的运转进行参数的给定或调整,PLC收到操作指令后要对现场设备进行相应操作并将现场情况根据上位机要求进行反馈。本方案中的FX3U系列PLC具有专用MODBUS通信接口模块,但项目实施过程中由于需求数量少,供货中期过长,在权衡各因素后,决定采用通用通信接口编程的方法来实现MODBUS通信。

        FX3U系列的RS232端口模块具有并联链接、计算机链接、无协议等通信方式;因并联链接、计算机链接通信方式都是固化的通信协议,与MODBUS不兼容,所以本系统只能采用无协议通信方式。

        根据系统需要,MODBUS协议采用RTU传输模式。上位机为主站,向从站发送查询或写入指令;所有PLC作为从站,根据主站发出的信息和协议采取规定的操作。

3、工控机与FX3U通信规约

        上位机主要的控制功能有读寄存器区如表1(读出当前PLC的通信参数、变频器运行频率以及其输出电压和电流),写寄存器区如表2(对PLC通信参数和多个变频器的运行进行集中控制),写单个寄存器的状态(包括PLC通信参数的单独设定、单个变频器的启停和频率设定)和广播设备启停控制。上位机通信规约如下。

表1 功能码03H 读寄存器规约


表2 功能码10H写寄存器通信规约


控制单个变频器的启停协议为:
命令:ADDR 06H 开始地址 DATA CRC
响应:同命令。
控制所有变频器的启停协议为:
命令:ADDR 10H 00H 10H 00H 0AH DATA CRC
响应:ADDR 10H 00H 10H 00H 0AH CRC

4、PLC通信程序

4.1 通信端口初始化

        初始化部分主要实现对系统的基本参数进行设定,包括通信波特率、数据格式、通信发送接收缓冲区的设定等,代码如下。
LD M8000
MOV H1C81 D8120 /*通信默认值设定,9600bps,8
数据位、无校验,1停止位*/
MOV K7 D8121 /*本站站号默认值设定*/
MOV K10 D8129 /*超时时间设定8*/
ANI M8000
OUT M8161 /*该端口通信采用8位模式*/
RS D500 D107 D400 K100 K1/*
通信通道,启始、终止位和数据长度设定*/

4.2 控制主程序

 

图2 主程序程序流程图


        主程序的主要功能是在通信完成以后对接收的数据进行CRC校验,校验结果与上位机发送的校验码比较,确定通信过程中是否有错误;并对符合条件的指令进行判断,调用不同功能的子程序,实现相应的任务。程序流程如图2。
MOV D8423 D108
WTOB D400 D110 K8
SUB D108 K2 D101
CRC D400 D100 D101 /*校验后数据存储于D100*/
CMP D8421 D110 M11 /*地址验证,若正确,M12置ON*/
AND= D110 K0
AND= D111 K16
CALL P1 /*广播起停调用*/
LD M12
MPS
AND= D111 K3
AND= D100 D403
CALL P3 /*CRC校验成功,读取寄存器子程序调用*/
MRD
AND= D111 K6
CALL P6 /*预置单寄存器子程序调用*/
MRD
AND= D111 K16
BMOV D400 D600 K60
MRD
AND= D111 K16
DIV D108 K2 D94
MRD
AND= D111 K16
SUB D94 K1 D95
MRD
AND= D111 K16
FDEL D97 D600 D95
MPP
AND= D111 K16
AND= D97 D100
CALL P16 /*多寄存器写入子程序调用*/

4.3 写寄存器子程序

        该子程序根据寄存器的地址确定采取的操作,主要的功能有远程修改PLC的站号、波特率,设定变频器输出频率、启停控制和相应信息的返回。程序代码如下。
LD M8123
SET M7
LD M7
MPS
AND= D401 H0
MOV D402 D0
MOV D114 D8121 /*站号设定*/
MPS
AND= D115 H3
MOV H1C51 D8120 /*波特率设定*/
MRD
AND= D401 H1 /*变频器频率设定*/
MOV D402 D1
MPP
SET M21 /*变频器启停控制*/
LD M7
BMOV D400 D500 K4
SET M8122 /*数据发送*/ 
LD M7
RST M8123
RST M7 /*复位*/

4.4 注意事项

        该方案在应用规划初期需要根据PLC的运算能力、运算速度和任务的复杂程度以及上位机指定的超时时间确定。因为FX3U作为微型PLC(其他类似微型PLC同样需要主义),它的处理能力和处理速度不是很快,如果PLC要完成的控制功能较复杂或者需要用其运行一些控制算法的话,扫描周期可能就已经超过上位工控机规定的超时时间,造成即使PLC能收到控制信息并按照要求进行相应反馈,也会造成上位机判断该站通信超时。这是关系到该方案能否可行的一个关键要素。

5、结论

        MODBUS--RTU协议在工业控制领域有着广泛的应用。在工程设计和实施的过程中往往需要新的控制设备融合到已有的控制网络中,除了配置专用通信模块外,使用通用硬件,通过软件编程实现其功能也是不错的选择。另外,该程序在采用RS485进行上位机与PLC的通信时同样适用。

扫二维码用手机看

公司地址:郑州市文化路68号科技市场数码港109B室   电话:0371-63965378

河南八方自动化设备有限公司    ALL REGHTS RESERVED.    豫ICP备12023801号  网站建设;中企动力  郑州

在线客服

客服热线 :

0371-63965378-8023