只发PLC相关4 随时更新~~
一、 西门子双机架双CPU之间工业以太网通讯
<一>、建立项目
首先需要建立一项新工程。
<二>、组态硬件
1.本说明组态以SIMATIC 400station为例。在STEP7中创建一个新的项目,分别插入两个S7-400站,打开options菜单下的Set PG/PC Interface选项,将通讯接口改为TCP/IPà本地网卡。
2.对SIMATIC 400(1)站点进行硬件组态
双击SIMATIC 400(1)站的hardware选项,打开硬件组态画面,,双击CP的PN-IO口,填写相应的IP地址和子网掩码,并新组建一个工业以太网Ethernet(1),写入mac地址,IP地址设定为192.168.0.1,子网掩码为255.255.255.0,完成后如下图所示将所要配置的硬件型号抄下,按型号进行硬件组态配置,同时,将MAC地址写入网络配置。如下:
硬件组态完成后的整体画面如下图所示
3.对SIMATIC 400(2)站点进行硬件组态
组态方式与1站相同,将MAC以及IP地址分配好。
注:更改IP地址,防止重复。
最后完成图:
<三>、网络组态
1、同项目下网络组态
在SIMATIC Manager画面下选择
Configure network按钮,打开网络组态画面。NetPro会根据当前的组态情况自动生成网络组态画面。如下:
选择SMATIC 400(1)站的CPU 416-2 DP,右键选择“Insert new connection”,如下图
在弹出的对话框中,显示了可与1站建立连接的站点,选择CPU 416-2 DP站点,同时选择类型为“iso-on-tcp contion”如图所示
将Connection下Type选项内容改为ISO-on-TCP connection:
点Apply后出现如下对话框:
Local Endpoint 下ID选项可以选择任意段,但是要与程序内部编写一致。本文以0001段为例。
对话框中Active connection establishment选项为主从选择,点选后为主站。如果有多个400站,则尽量将主站建立平均,因为主站占用内存比较大,都集中到一台CPU上是容易造成扫描周期变长。同时Block Paramenters选项卡默认为1。
选择SIMATIC 400(2)站中CPU 416-2 DP,在下面Local ID中右键选择属性将Local Endpoint地址改为0002段,步骤如下:
确定,完全编译,分别下装。
2、不同项目下网络组态
双击SIMATIC 400(1)站的hardware选项,打开硬件组态画面,,双击CPU的PN-IO口,填写相应的IP地址和子网掩码,并新组建一个工业以太网Ethernet(1),写入mac地址,以IP地址设定为192.168.0.1,子网掩码为255.255.255.0为例,完成后如下图所示:
硬件组态完成后的整体画面如下图所示:
3.对SIMATIC 400(2)站点进行硬件组态
基本的组态步骤与1站相同,IP地址设定为192.168.0.2,子网掩码255.255.255.0。对准槽号,完成硬件组态后,分别将组态下载到相应的PLC中。
4.进行网络组态,建立相应的S7连接
在SIMATIC Manager画面下选择Configure network按钮,打开网络组态画面。NetPro会根据当前的组态情况自动生成网络组态画面。
选择SMATIC 400(1)站的CPU416-2DP,右键选择“Insert new connection”,如下图:
在弹出的对话框中,显示了可与1站建立连接的站点,选择Unspecified点,同时选择类型为“iso-on-tcp contion”如图所示
点击OK后会出现连接属性的对话框,勾选“establish an active connection”以激活新连接,同时需要记住本地ID号和LADDR号,此号作为后续的通讯模块标识。画面如下图:
同时在弹出的对话框中选择Address标签中Remote标签中写出对方的IP以及ASC。当写出ASC后,hex自动生成,如下:
完成后的NetPro画面如下图:
图中显示了相应建立的连接信息,至此硬件,网络层面的组态完成。分别下载到PLC即可。
<四>、程序编辑
为了进行数据的传送,这里需要调用FC5“AG-SEND”和FC6“AG-RECV”模块,来进行数据的收发。本实验以同项目下2个400站通讯为例。
1.在SIMATIC 400(1)站的Block中按
打开添加如下模块:在OB1中编写数据发送模块,调用FC5模块,并建立DB1、2,分别为CPU1发送给CPU2和CPU1 接收CPU2的数据,并插入变量表为后面的通讯验证做准备。如下图:
打开SIMATIC_NET_CP库:
找到FC5、FC6并复制:
粘贴到400站中,并建立2个DB块,分别为发送和接收使用:
在2个DB块中分别建立相同数量的变量:
2.建立发送接收数据长度设定:
注意:发送接收数据最好分别设计2个MW地址,如果公用,有可能第一个使用完后MW内存储数据被清零。
3.OB1中对FC5的编写如下:
call fc 5 //调用FC5
ACT := M 1.0, //通讯为1时可以发送。
ID :=1, //本机网络组态Block Parameters的ID
LADDR := W#16#3FFD, //本机数据段
SEND := P#db1.dbx0.0 byte 10, //发送数据存储位置
LEN := MW 10, //发送数据长度
DONE := M 10.2, //发送状态(0为正在发送,1为发送完成)
ERROR := M 10.3, //错误状态
STATUS := MW 20; //错误代码
注意:发送接收数据最好分别设计2个MW地址,如果公用,有可能第一个使用完后MW内存储数据被清零。
FC5编辑定义如下:
4.OB1中对FC6的编写如下:
call fc 6 //调用FC6
ID :=1, //本机网络组态Block Parameters的ID
LADDR := W#16#3FFD, //本机数据段
RECV := P#DB2.DBX0.0 BYTE 10, //接收数据存储位置
NDR :=M0.4, //接收状态
ERROR := M0.5, //错误状态
STATUS := MW30, //错误代码
LEN := MW12; //接收数据长度
FC6编辑定义如下:
5.在SIMATIC 400 (2)站中添加相应的模块,ID以及LADDR改为SIMATIC 400 (2)站的ID以及LADDR
6.分别下装到对应CPU中
<五>、效果验证
分别在两个站点的变量表中添加变量,进入监控画面,对1站输入不同的数值,可以看到2站对应的接收区发生了对应的变化,说明以太网通讯成功,效果如下图:
<六>、小结
1.以太网通讯的物理层关键在于IP地址要设定在同一网段内,同时注意子网掩码对网段的影响。这里网段统一在192.168.0.X区间上,保证物理层上的通讯畅通
2.建立连接的过程并不复杂,正确的组态以及IP分配即可。
3.数据的传送可以发送BYTE。基于M区,DB块等,灵活应用不同的传送方式可以实现多种不同的控制方式。
二、 PLC调试步骤
1、模拟量输入(AI)回路调试。要仔细核对I0模块的地址分配;检查回路供电方式 (内供电或外供电)是否与现场仪表相一致;用信号发生器在现场端对每个通道加入信号,通常取0、50%或100%三点进行检查。对有报警、联锁值的AI回路,还要在报警联锁值(如 高报、低报和联锁点以及精度)进行检查,确认有关报警、联锁状态的正确性。
2、模拟量输出(AO)回路调试。可根据回路控制的要求,用手动输出(即直接在控制系 统中设定)的办法检查执行机构(如阀门开度等),通常也取0、50 %或100 %三点进行检查;同时通过闭环控制,检查输出是否满足有关要求。对有报警、联锁值的AO回路,还要在报警联锁值(如高报、低报和联锁点以及精度)进行检查,确认有关报警、联锁状态的正确性。
3、开关量输入(DI)回路调试。在相应的现场端短接或断开,检查开关量输入模块对应 通道地址的发光二极管的变化,同时检查通道的通、断变化。
4、开关量输出(DO)回路调试。可通过PLC系统提供的强制功能对输出点进行检查。通过强制,检查开关量输出模块对应通道地址的发光二极管的变化,同时检查通道的通、断变化。
回路调试注意事项
1、对开关量输入输出回路,要注意保持状态的一致性原则;通常采用正逻辑原则,即当输入输出带电时,为“ON”状态,数据值为“1”;反之,当输入输出失电时,为“OFF”状态,数据值为“0”。这样,便于理解和维护。
2、对负载大的开关量输入输出模块应通过继电器与现场隔离;即现场接点尽量不要直接与输入输出模块连接。
3、使用PLC提供的强制功能时,要注意在测试完毕后,应还原状态;在同一时间内,不应对过多的点进行强制操作,以免损坏模块。
控制逻辑功能调试
控制逻辑功能调试,需会同设计、工艺代表和项目管理人员共同完成。要应用处理器 的测试功能设定输入条件,根据处理器逻辑检查输出状态的变化是否正确,以确认系统的 控制逻辑功能。对所有的联锁回路,应模拟联锁的工艺条件,仔细检查联锁动作的正确性,并做好调试记录和会签确认。
检查工作是对设计控制程序软件进行验收的过程,是调试过程中最复杂、技术要求最高、难度最大的一项工作。特别在有专利技术应用、专用软件等情况下,更加要仔细检查其 控制的正确性,应留有一定的操作裕度,同时保证工艺操作的正常运作以及系统的安全性、可靠性和灵活性。
处理器性能测试
处理器性能测试要按照系统说明书的要求进行,确保系统具有说明书描述的功能且稳 定可靠,包括系统通信、备用电池和其他特殊模块的检查。对有冗余配置的系统必须进行 冗余测试。即对冗余设计的部分进行全面的检查,包括电源冗余、处理器冗余、I 0冗余和 通信冗余等。
(1)电源冗余。切断其中一路电源,系统应能继续正常运行,系统无扰动;被断电的电源加电后能恢复正常。
(2)处理器冗余。切断主处理器电源或切换主处理器的运行开关,热备处理器应能自动成为主处理器,系统运行正常,输出无扰动;被断电的处理器加电后能恢复正常并处于备用状态。
(3)I0冗余。选择互为冗余、地址对应的输入和输出点,输入模块施加相同的输入信号,输出模块连接状态指示仪表。分别通断(或热插拔,如果允许)冗余输入模块和输出模 块,检查其状态是否能保持不变。
(4)通信冗余。可通过切断其中一个通信模块的电源或断开一条网络,检查系统能否 正常通信和运行;复位后,相应的模块状态应自动恢复正常。
冗余测试,要根据设计要求,对一切有冗余设计的模块都进行冗余检查。此外,对系统功能的检查包括系统自检、文件查找、文件编译和下装、维护信息、备份等功能。对较为复杂的PLC系统,系统功能检查还包括逻辑图组态、回路组态和特殊I0功能等内容。
三、 多家品牌PLC元件编号和Modbus编号地址对应表
20种PLC输入、输出和寄存器元件与Modbus编号地址对应表分享出来,内容涵盖以下PLC
三菱FX3G-40MR/ES-A、西门子S7-200 CPU226 AC/DC/RLY、欧姆龙CP1H-X40DR-A、松下AFPX-C40R、台达DVP-12SA2、信捷XC5-48、永宏FBs-40MC、产电XBC-DR40S、汇川H2u-2416MT-XP、英威腾IVC2H-1616MAT6、基恩士KV-N40AR、施耐德电气TM218LDAE40DRPHN、海为H40S2R系列、维控LX3V1212MT系列、和利时LE5109、台安AP-340BR-A、罗克韦尔1766-L32BWA、合信CTH200系列CPU H226L、富士SPE NW0P40R-31、步科K508-40AR。
三菱
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
西门子
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
V元件支持Modbus之03、06、16功能码。
欧姆龙
CIO0元件支持Modbus之02功能码;
CIO100元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
松下
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
DT元件支持Modbus之03、06、16功能码。
台达
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
信捷
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
永宏
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
产电
P0元件支持Modbus之02功能码;
P40元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
汇川
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
英威腾
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
基恩士
R0元件支持Modbus之02功能码;
R500元件支持Modbus之01、05、15功能码;
DM元件支持Modbus之03、06、16功能码。
施耐德电气
更新固件后支持01、02、15功能码
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、15功能码;
M元件支持Modbus之03、06、16功能码。
海为
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
维控
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
和利时
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
M元件支持Modbus之03、06、16功能码。
台安
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
罗克韦尔
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
N元件支持Modbus之03、06、16功能码。
合信
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
V元件支持Modbus之03、06、16功能码。
富士
(无协议编程实现)
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、15功能码;
D元件支持Modbus之03、16功能码。
步科
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
V元件支持Modbus之03、06、16功能码。