嵌入式~PLC-专辑4

只发PLC相关4 随时更新~~    whaosoft aiot http://143ai.com  

一、 西门子双机架双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功能码。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值