




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
两台三相异步电动机反向运行PLC控制的TCP通信一、任务导入S7-1200PLC基于以太网的通信除了西门子非开放的S7通信外,还适用于开放式用户通信。本任务以两台三相异步电动机反向运行PLC控制的TCP通信为例,来介绍S7-1200PLCTCP通信的相关知识及编程应用。(一)开放式用户通信简介
二、相关链接开放式用户通信(OUC通信)是基于以太网进行数据交换的协议,适用于PLC之间通信、PLC与第三方设备、PLC与高级语言等进行数据交换。开放式用户通信有以下通信连接方式:TCP通信方式ISO-on-TCP通信方式UDP通信方式该通信方式支持TCP/IP的开放式数据通信。TCP/IP采用面向数据流的数据传送,发送的长度最好是固定的。由于ISO不支持以太网路由,因而西门子应用RFC1006将ISO映射到TCP上,实现网络路由。该通信连接属于OSI模型第四层协议,支持简单数据传输,数据无须确认,与TCP通信相比,UDP没有连接。S7-1200PLC中所用需要编程的以太网通信都是用开放式以太网通信指令块T-block来实现,所有T-block通信指令必须在OB1中调用。调用T-block通信指令并配置两个CPU之间的连接参数,定义数据发送或接收信息的参数。博途软件提供两套通信指令:不带连接管理的通信指令和带连接管理的通信指令,分别见表5-24、5-25。(二)开放式用户通信指令指
令功
能TCON建立以太网连接TDISON断开以太网连接TSEND发送数据TRCV接受数据指
令功
能TSEND_C建立以太网连接并发送数据TRCV_C建立以太网连接并接受数据表5-24不带连接管理的通信指令表5-25带连接管理的通信指令实际上TSEND_C指令实现的是TCON、TDISON和TSEND3条指令综合的功能,而TRCV_C指令是TCON、TDISON和TRCV3条指令综合的功能。在指令窗格选择“通信”→“开放式用户通信”,开放式用户通信指令列表如图5-37所示。图5-37开放式用户通信指令
TSEND_C指令LAD/FBD参数数据类型说
明REQBool在上升沿时执行该指令CONTBool控制通信连接:为0时,断开通信连接。为1时,建立并保持通信连接LENUDInt可选参数(隐藏):要通过作业发送的最大字节数。如果在DATA参数中使用具有优化访问权限的发送区,LEN参数值必须为“0”CONNECTVariant指向连接描述结构的指针:对于TCP或UDP,使用TCON_IP_v4系统数据类型。对于ISO-on-TCP,使用TCON_IP_RFC系统数据类型DATAVariant指向发送区的指针:该发送区包含要发送数据的地址和长度。传送结构时,发送端和接收端的结构必须相同表5-26TSEND_C指令的LAD/FBD及端子参数的说明LAD/FBD参数数据类型说
明ADDRVariantUDP需使用的隐藏参数:此时,将包含指向系统数据类型TADDR_Param的指针。接收方的地址信息(IP地址和端口号)将存储在系统数据类型为TADDR_Param的数据块中COM_RSTBool重置连接:可选参数(隐藏)0:不相关;1:重置现有连接。COM_RST参数通过“TSEND_C”指令进行求值后将被复位,因此不应静态互连DONEBool状态参数:0表示发送作业尚未启动或仍在进行;1表示发送作业已成功执行。此状态将仅显示一个周期如果在处理(连接建立、发送、连接终止)期间成功完成中间步骤且“TSEND_C”的执行成功完成,将置位输出参数DONEBUSYBool作业状态位:0表示无正在处理的作业;1表示作业正在处理ERRORBool错误位:0表示无错误;1表示出现错误,错误原因查看STATUSSTATUSWord错误代码表5-26TSEND_C指令的LAD/FBD及端子参数的说明(续)
TRCV_C指令LAD/FBD参数数据类型说
明EN_RBool启用接收的控制参数:EN_R=1时,准备接收,处理接收作业CONTBool控制通信连接:0表示断开通信连接;1表示建立并保持通信连接LENUDInt要接收数据的最大长度。如果在DATA参数中使用具有优化访问权限的接收区,LEN参数值必须为“0”ADHOCBool可选参数(隐藏),TCP协议选项使用Ad-hoc模式CONNECTVariant指向连接描述结构的指针:对于TCP或UDP,使用结构TCON_IP_v4;对于ISO-on-TCP,使用结构TCON_IP_RFCDATAVariant指向接收区的指针:传送结构时,发送端和接收端的结构必须相同ADDRVariantUDP需使用的隐藏参数:此时,将包含指向系统数据类型TADDR_Param的指针。发送方的地址信息(IP地址和端口号)将存储在系统数据类型为TADDR_Param的数据块中表5-27TRCV_C指令的LAD/FBD及端子参数的说明LAD/FBD参数数据类型说
明COM_RSTBool重置连接:可选参数(隐藏)0表示不相关;1表示重置现有连接。COM_RST参数通过“TRCV_C”指令进行求值后将被复位,因此不应静态互连DONEBool最后一个作业成功完成,立即将输出参数DONE置位为“1”BUSYBool作业状态位:0表示无正在处理的作业;1表示作业正在处理ERRORBool错误位:0表示无错误;1表示出现错误,错误原因查看STATUSSTATUSWord错误代码RCVD_LENUDInt实际接收到的数据量(以字节为单位)表5-27TRCV_C指令的LAD/FBD及端子参数的说明(续)
TSEND指令LAD/FBD参数数据类型说
明REQBool在上升沿时执行该指令IDCONN_OUC(Word)引用相关的连接,ID必须与本地连接描述中的相关参数ID相同值范围:W#16#0001到W#16#0FFFLENUDInt要通过作业发送的最大字节数DATAVariant指向发送区的指针:该发送区包含要发送数据的地址和长度。该地址引用过程映像输入I、过程映像输出Q、位存储器M及数据块DB。传送结构时,发送端和接收端的结构必须相同DONEBool状态参数:0表示作业尚未启动,或仍在执行过程中;1表示作业已经成功完成BUSYBool状态参数:0表示作业尚未启动或已完成;1表示作业尚未完成,无法启动新作业ERRORBool错误位:0表示无错误;1表示出现错误,错误原因查看STATUSSTATUSWord错误代码表5-28TSEND指令的LAD/FBD及端子参数的意义
TRCV指令LAD/FBD参数数据类型说
明EN_RBool允许CPU进行接收;EN_R=1时,准备接收,处理接收作业IDCONN_OUC引用相关的连接,ID必须与本地连接描述中的相关参数ID相同值范围:W#16#0001到W#16#0FFFLENUDInt接收区长度(以字节为单位,隐藏)。如果在DATA参数中使用具有优化访问权限的存储区,LEN参数值必须为“0”ADHOCBool可选参数(隐藏),TCP协议选项使用Ad-hoc模式DATAVariant指向接收区的指针:传送结构时,发送端和接收端的结构必须相同NDRVariant状态参数(NewDataReceived):0表示作业尚未启动,或仍在执行过程中;1表示作业已经成功完成表5-29TRCV指令的LAD/FBD及端子参数的意义LAD/FBD参数数据类型说
明BUSYBool状态参数:0表示作业尚未启动或已完成;1表示作业尚未完成。无法启动新作业ERRORBool错误位:0表示无错误;1表示出现错误,错误原因查看STATUSSTATUSWord状态参数:输出状态和错误信息RCVD_LENUInt实际接收到的数据量(以字节为单位)表5-29TRCV指令的LAD/FBD及端子参数的意义(续)(一)任务目标三、任务实施1)会S7-1200PLCI/O接线。2)会组态两台S7-1200PLC之间的TCP通信网络连接。3)能根据控制要求编写两台PLCTCP通信的梯形图程序。4)熟练使用博途编程软件进行设备组态、编制梯形图程序并下载至CPU进行调试运行,查看运行结果。表5-30所需设备与器材(二)设备与器材序号名称符号型号规格数量备注1常用电工工具
十字起、一字起、尖嘴钳、剥线钳等2套表中所列设备、器材的型号规格仅供参考2计算机(安装博途编程软件)
2台3西门子S7-1200PLCCPUCPU1214CAC/DC/Rly,订货号:6ES7214-1AG40-0XB02台4三相异步电动机M
2台5以太网通信线
2根6连接导线
若干
任务要求两台S7-1200PLC进行TCP通信,一台作为客户端,另一台作为服务器。控制要求:客户端和服务器端控制按钮分别控制其三相异步电动机的起动和停止,但两者的运行方向必须相反。若客户端电动机正向起动运行,则服务器端三相异步电动机只能反向起动运行;若客户端电动机反向起动运行,则服务器端三相异步电动机只能正向起动运行。同样,若先起动服务器三相异步电动机,则客户端三相异步电动机也必须与服务器端三相异步电动机反向。(三)内容与步骤
I/O地址分配与接线图输入输出设备名称符号I元件地址设备名称符号Q元件地址正转起动按钮SB1I0.0正转接触器KM1Q0.0反转起动按钮SB2I0.1反转接触器KM2Q0.1停止按钮SB3I0.2
热继电器FRI0.3
表5-31I/O地址分配表根据控制要求确定I/O点数,两台PLCI/O地址分配(两台相同)见表5-31。图5-38两台三相异步电动机反向运行PLC控制的TCP通信I/O接线图
创建工程项目打开博途编程软件,在Portal视图中选择“创建新项目”,输入项目名称“5RW_3”选择项目保存路径,然后单击“创建”按钮创建项目完成。
硬件组态在项目树中,用鼠标双击“添加新设备”选项,添加两台设备,名称分别为PLC_1和PLC_2,型号均为CPU1214CAC/DC/Rly(订货号:6ES7214-1AG40-0XB0)。单击“PLC_1[CPU1214CAC/DC/Rly]”下拉按钮,双击“设备组态”选项,在“设备视图”工作区中,选中PLC_1,依次单击其巡视窗口中的“属性”→“常规”→“PROFINET接口[X1]”→“以太网地址”选项,修改PLC_1的以太网IP地址为192.168.0.1,如图5-39所示。图5-39PLC_1以太网IP地址用同样的方法设置PLC_2的IP地址为192.168.0.2,如图5-40所示。并启用时钟存储器字节。图5-40PLC_2以太网IP地址在项目树中,用鼠标双击“设备和网络”选项,进入网络视图,首先用鼠标单击PLC_1的PROFINET通信口的绿色小方框,按住鼠标拖拽出一条线到PLC_2的PROFINET通信口的绿色小方框上,然后松开鼠标,则网络连接建立,创建完成的网络连接如图5-41所示。
创建网络连接图5-41创建完成的网络连接
编辑变量表图5-42PLC_1变量表用同样的方法添加并编辑PLC_2变量表,PLC_2变量表与PLC_1相同。
编写程序
编写PLC_1程序图5-43TSEND_C指令的连接参数编写TSEND_C指令的块参数,如图5-44所示。TSEND_C指令的块参数也可以采用上述连接参数相类似的组态方法进行设置。图5-44TSEND_C指令的块参数在OB1中调用接收指令TRCV并组态参数。为了使PLC_1能接收到来自PLC_2数据,在PLC_1调用接收指令并组态参数。接收数据与发送数据使用同一连接,所以使用不带连接管理的TRCV指令。在PLC_1主程序OB1的程序编辑区右侧指令窗格中,选择“通信”选项,打开“开放式用户通信→其它”文件夹,双击或拖拽TRCV指令至程序段中,自动生成名称为TRCV_DB的背景数据块,在此使用TCP协议。其块参数设置直接在指令引脚端进行,PLC_1程序如图5-45所示。图5-31两台三相异步电动机PLC控制的S7通信程序图5-45两台三相异步电动机反方向运行PLC控制的TCP通信PLC_1程序
编写PLC_2程序图5-46TRCV_C指令的连接参数图5-47两台三相异步电动机反方向运行PLC控制的TCP通信PLC_2程序
调试运行将设备组态及调试好的两单元程序分别下载到PLC_1、PLC_2的CPU中,按图5-38进行两台PLC的I/O接线,并将两台PLC的PROFINET通信口用带水晶头的网线连接起来。启动CPU,将CPU切换至RUN模式,按下PLC_1的正向起动按钮,PLC_1控制的三相异步电动机正向起动运行,观察PLC_2控制的三相异步电动机是否按下正向起动按钮不能正向起动,只能按反向起动按钮反向起动运行,然后分别按下PLC_1、PLC_2上的停止按钮两台电动机停止运行;在按下PLC_1的反向起动按钮,PLC_1控制的三相异步电动机方向起动运行,观察PLC_2控制的三相异步电动机是否按下反向起动按钮不能反向起动,只能按正向起动按钮反向起动运行,然后分别按下PLC_1、PLC_2上的停止按钮两台电动机停止运行。在PLC_2上分别按下正向、反向起动按钮,观察PLC_1控制的电动机是否只能与PLC_2控制的电动机反向起动运行。若上述运行现象与控制要求完全相同,则说明本任务实现。否则需进一步调试,直至实现控制要求。1)本任务正反转运行能否直接切换,如果不能程序应如何修改?2)如果两台PLC之间采用PROFINETIO通信,要实现本任务的功能,其梯形图程序如何编制?(四)分析与思考四、任务考核表5-32任务实施考核表序号考核内容考核要求评分标准配分得分1电路及程序设计(1)能正确分配I/O地址,并绘制I/O接线图(2)设备组态(3)根据控制要求,正确编制梯形图(1)I/O地址分配错或少,每个扣5分(2)I/O接线图设计不全或有错,每处扣5分(3)CPU组态与现场设备型号不匹配,扣10分(4)梯形图表达不正确或画法不规范,每处扣5分40分2安装与连线根据I/O接线图,正确连接电路(1)连线错一处,扣5分(2)损坏元器件,每只扣5~10分(3)损坏连接线,每根扣5~10分20分3调试与运行能熟练使用编程软件编制程序下载至CPU,并按要求调试运行(1)不能熟练使用编程软件进行梯形图的编辑、修改、编译、下载及监视,每项扣2分(2)不能按照控制要求完成相应的功能,每少一项扣5分20分4安全操作确保人身和设备安全违反安全文明操作规程,扣10~20分20分5合计(一)ModbusTCP通信五、知识拓展
功能概述ModbusTCP通信是施耐德公司于1996年推出的基于以太网TCP/IP的Modbus协议,即ModbusTCP。ModbusTCP通信协议是开放式协议,很多设备都集成此协议,比如PLC、机器人、智能工业相机和其他智能设备等。ModbusTCP通信结合了以太网物理网络和TCP/IP网络标准,采用包含有Modbus应用协议数据的报文传输方式。Modbus设备间的数据交换是通过功能码实现的,有些功能码是对位操作,有些功能码是对字操作。S7-1200CPU集成的以太网口支持ModbusTCP通信,可作为ModbusTCP客户端或者服务端。ModbusTCP通信使用TCP通信作为通信路径,其通信时将占用S7-1200CPU的开放式用户通信连接资源,通过调用ModbusTCP客户端“MB_CLIENT”指令和服务端“MB_SERVER”指令进行数据交换。
通信指令在指令选项栏中选择“通信”→“其它”→“MODBUSTCP”,ModbusTCP通信指令列表如图5-48所示。图5-48ModbusTCP通信指令
MB_CLIENT指令LAD/FBD参数数据类型说明REQBool与服务器之间的通信请求,上升沿有效DISCONNECTBool通过该参数,可以控制与ModbusTCP服务器建立和终止连接。0表示建立连接;1表示断开连接MB_MODEUSInt选择Modbus请求模式(读取、写入或诊断)。0表示读;1表示写MB_DATA_ADDRUDInt由“MB_CLIENT”指令所访问数据的起始地址MB_DATA_LENUInt数据长度:数据访问的位或字的个数MB_DATA_PTRVariant指向Modbus数据寄存器的指针:寄存器缓冲数据进入Modbus服务器或来自Modbus服务器。指针必须分配一个未进行优化的全局DB或M存储器地址CONNECTVariant引用包含系统数据类型为“TCON_IP_v4”的连接参数的数据块结构表5-33MB_CLIENT指令的LAD/FBD及端子参数的说明LAD/FBD参数数据类型说明DONEBool最后一个作业成功完成,立即将输出参数DONE置位为“1”BUSYBool作业状态位:0表示无正在处理的作业;1表示作业正在处理ERRORBool错误位:0表示无错误;1表示出现错误,错误原因查看STATUS表5-33MB_CLIENT指令的LAD/FBD及端子参数的说明(续)使用客户端连接时,需遵循以下规则:1)每个“MB_CLIENT”连接都必须使用唯一的背景数据块。2)对于每个“MB_CLIENT”连接,必须制定唯一的服务器IP地址。3)每个“MB_CLIENT”连接都需要一个唯一的连接ID。4)该指令的背景数据块都必须使用各自相应的连接ID。连接ID与背景数据块组合成对,对每个连接,组合对都必须唯一。根据服务器组态,可能需要或不需要IP端口的唯一编号。
MB_SERVER指令LAD/FBD参数数据类型说明DISCONNECTBool尝试与伙伴设备进行“被动”连接。也就是说,服务器被动地侦听来自任何请求IP地址的TCP连接请求。如果DISCONNECT=0且不存在连接,则可以启动被动连接。如果DISCONNECT=1且存在连接,则启动断开操作。该参数允许程序控制何时接受连接。每当启用此输入时,无法尝试其它操作MB_HOLD_REGVariant指向“MB_SERVER”指令中Modbus保持性寄存器的指针。MB_HOLD_REG引用的存储区必须大于两个字节。保持性寄存器中包含Modbus客户端通过Modbus功能3(读取)、6(写入)、16(多次写入)和23(在一个作业中读写)可访问的值。作为保持性寄存器,可以使用具有优化访问权限的全局数据块,也可以使用位存储器的存储区表5-34MB_SERVER指令的LAD/FBD及端子参数的说明LAD/FBD参数数据类型说明CONNECTVariant引用包含系统数据类型为“TCON_IP_v4”的连接参数的数据块结构NDRBool“NewDataReady”:0表示无新数据;1表示从Modbus客户端写入的新数据DRBool“DataRead”:0表示未读取数据;1表示从Modbus客户端读取的数据ERRORBool如果上一个请求有错完成,将变为TRUE并保持一个周期STATUSWord错误代码CONNECTVariant引用包含系统数据类型为“TCON_IP_v4”的连接参数的数据块结构表5-34MB_SERVER指令的LAD/FBD及端子参数的说明(续)使用客户端连接时,需遵循以下规则:1)每个“MB_SERVER”连接都必须使用唯一的背景数据块。2)每个“MB_SERVER”连接都需要一个唯一的连接ID。3)该指令的背景数据块都必须使用各自相应的连接ID。连接ID与背景数据块组合成对,对每个连接,组合对都必须唯一。根据每个连接,都必须单独调用“MB_SERVER”指令。在使用ModbusTCP通信指令时,应注意以下几点:1)ModbusTCP客户端可以支持多个TCP连接,连接的最大数目取决于所使用的CPU;2)ModbusTCP客户端如果需要连接多个ModbusTCP服务器,需要调用多个MB_CLIENT指令,每个MB_CLIENT指令需要分配不同的背景数据块和不同的连接ID;3)ModbusTCP客户端对同一个ModbusTCP服务器进行多次读写操作时,需要调用多个MB_CLIENT指令,每个MB_CLIENT指令需要分配相同的背景数据块和相同的连接ID,且同一时刻只能有一个MB_CLIENT指令被触发,即必须采用轮询的方式。
使用ModbusTCP通信指令注意事项(二)应用举例两台S7-1200PLC之间作ModbusTCP通信,一台作为客户端,一台作为服务器。控制要求:在客户端按下起动按钮,服务器端控制的8盏指示灯按HL1HL8→HL2HL7→HL3HL6→HL4HL5→HL1HL8顺序每隔1s循环点亮,指示灯在循环点亮过程中,按下停止按钮指示灯熄灭;在服务器端按下起动按钮,客户端控制的8盏指示灯按HL4HL5→HL3HL6→HL2HL7→HL1HL8→HL4HL5顺序每隔1s循环点亮,指示灯在循环点亮过程中,按下停止按钮指示灯熄灭。输
入输
出设备名称符号I元件地址设备名称符号Q元件地址起动按钮SB1I0.0第一盏指示灯HL1Q0.0停止按钮SB2I0.1第二盏指示灯HL2Q0.1
………
第八盏指示灯HL8Q0.7
I/O地址分配
创建工程项目打开博途编程软件,在Portal视图中选择“创建新项目”,输入项目名称“ModbusTCP通信”选择项目保存路径,然后单击“创建”按钮创建项目完成。表5-35I/O地址分配表
硬件组态按照前面介绍的方法,添加两台设备,名称分别为PLC_1和PLC_2,型号均为CPU1214CAC/DC/Rly(订货号:6ES7214-1AG40-0XB0)。在项目树中,打开“PLC_1[CPU1214CAC/DC/Rly]”文件夹,双击“设备组态”选项,在“设备视图”工作区中,选中PLC_1,依次单击其巡视窗口中的“属性”→“常规”→“PROFINET接口[X1]”→“以太网地址”选项,修改PLC_1的以太网IP地址为192.168.0.1,如图5-49所示。并启动PLC_1时钟存储器字节MB0,将M0.3设置为2Hz的脉冲。用同样的方法设置PLC_2的IP地址为192.168.0.2,如图5-50所示,并启用时钟存储器字节MB0图5-49PLC_1以太网IP地址图5-50
PLC_2以太网IP地址
添加数据块添加通信指令的连接描述数据块。在项目树中,依次单击“PLC_1[CPU1214CAC/DC/Rly]”→“程序块”文件夹前面的下拉按钮,在打开的“程序块”文件夹中用鼠标双击“添加新块”选项,在弹出的“添加新块”对话框中,单击“数据块”选项,数据块名称为DB1,手动修改数据块编号为10,单击“确定”按钮,这样便在程序块中生成DB1[DB10]数据块,在数据块中添加变量“通信设置”,数据类型为TCON_IP_v4。用相同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版七年级道德与法治下册第二单元《做情绪情感的主人》教学设计
- 酒店高价转让合同范本
- 时间正规合同范本
- 事故车委托维修合同范本
- 个人两间门面房租赁合同范本
- 婚纱摄影服务合同范本
- 藏品租赁合同
- 小区物业车位租赁合同模板
- 金属管材采购销售合同
- 全国人教版信息技术八年级下册第一单元第1课《用于学习和研究其他学科的规律》教学设计设计
- 严重创伤患者紧急救治血液保障模式与输血策略中国专家共识(2024版)
- 【川教版】《生命 生态 安全》五下全册课件
- 中国无人机市场分析
- 2025高考数学专项复习:圆中鬼魅阿波罗尼斯圆(含答案)
- 2024年新课标培训2022年小学英语新课标学习培训课件
- 福建省福州市2023-2024学年高一上学期期末质量检测英语试题 含答案
- 中学八年级信息技术Excel-电子表格教案
- 哲学与人生 第二课 树立科学的世界观2.1
- 第15课 第二次世界大战 教学课件
- 陕西省榆林市2023-2024学年高二上学期1月期末语文试题 (解析版)
- 无光纤传输技术Er:YAG激光口腔临床应用规范
评论
0/150
提交评论