只发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功能码。

嵌入式~PLC-专辑4相关推荐

  1. 嵌入式~PCB专辑3

    只发PCB相关3 随时更新~~    whaosoft aiot http://143ai.com 电路相关都扔这 一.常用的电路保护器件 电子电路很容易在过压.过流.浪涌等情况发生的时候损坏,随着技 ...

  2. 嵌入式~PCB专辑8

    只发PCB电路相关8  随时更新~~    whaosoft aiot http://143ai.com 一. 差分运算放大电路,对共模信号得到有效抑制,而只对差分信号进行放大,因而得到广泛的应用. ...

  3. 嵌入式~PCB专辑2

    只发PCB相关2 随时更新~~    whaosoft aiot http://143ai.com 一.详解PCB走线与信号完整性 高速信号的PCB走线 现在但凡打开SoC原厂的PCB Layout ...

  4. 科维PLC运行时系统ProConOS embedded CLR 2.2 特定应用

    ProConOS embedded CLR是新型的开放式标准化PLC运行时系统,符合IEC 61131标准,可执行不同的自动化任务(PLC.PAC.运动控制.CNC.机器人和传感器). 通过采用国际标 ...

  5. 学习嵌入式Linux,做底层还是应用?底层要掌握哪些技能?

    关注.星标公众号,直达精彩内容 ID:技术让梦想更伟大 整理:李肖遥 很多学习嵌入式的新人.工程师,在学习到半途中,总会感觉到迷茫,不知道自己从哪方面入手.进阶,也不知道自己目前处于学习的哪个层次,不 ...

  6. 【深度】 到底什么是嵌入式系统?

    关注.星标公众号,直达精彩内容 ID:技术让梦想更伟大 作者:裸机思维 整理:李肖遥 [说在前面的话] 作为一个以"思维"为内容的讨论,我并不惧怕话题的庞大.毕竟思维并不是什么可以 ...

  7. 嵌入式开发要难于单片机开发?

    关注.星标公众号,直达精彩内容 ID:技术让梦想更伟大 来源:网络素材 单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,就谈谈本 ...

  8. 作为面试官,我是如何面试嵌入式工程师的?

    关注.星标公众号,直达精彩内容 来源:网络素材 作者:王科岩 提起面试大家都不会陌生,我们有时是参加面试,有时也需要面试别人,那么什么样的面试是一次高效有价值的面试呢?我在最近2年的面试中总结了以下几 ...

  9. (转)智能制造大环境下PLC的发展趋势和路径

    在过去的十年中,PLC市场在经受了前些年显著的下降之后,目前又呈现强势反弹,估计到2018年市场将达到148.5亿美元,比前五年增长40%.令人感到兴奋的是,中小型PLC将在市场增长中起着至关重要的作 ...

  10. 揭秘PLC(四)RTS之服务篇

    继续揭秘PLC,今天我们聊聊RTS的服务.服务有很多种,其最主要的任务是给用户提供调试接口的,相当于MCU的JTAG功能.Codesys有个比较实用的功能,代码编译好后,可以不连PLC实物直接在电脑端 ...

最新文章

  1. python对象_查找Python对象具有的方法
  2. 本地方法(JNI)——访问数组元素+错误处理
  3. java 过滤xss脚本_Java Web应用程序的反跨站点脚本(XSS)过滤器
  4. (王道408考研数据结构)第六章图-第四节3:最短路径之BFS算法(思想、代码、演示、答题规范)
  5. 2020-01-14 IP/TCP/UDP 对应的RFC编号
  6. 关于Cocos2d-x中实例伸缩后的位置设置
  7. win7怎么把计算机图标下的箭头掉,Win7桌面图标有小箭头怎么去掉?Win7去除桌面图标小箭头的方法...
  8. 基于TI CC2540汽车检测蓝牙4.0 BLE方案
  9. 【算法小结】Mex,SG,集合-Nim游戏模型
  10. JAVA自学-day14-正则表达式、Math类、Random类、System、BigInteger、BigDecimal、Date/DateFormat、Calendar
  11. python代码实现中心化_python基于物品协同过滤算法实现代码
  12. 困扰所有SAP顾问多年的问题终于解决了
  13. 基于Vue.js模拟酒店预订移动App
  14. 编写java的软件——Myeclipse,以及反编译的用法.
  15. 对比学习(Contrastive Learning)中的损失函数
  16. Qt扫盲-QList使用总结
  17. 遭遇Win32.Loader.c,Trojan.PSW.Win32.GameOnline,Trojan.PSW.Win32.AskTao等2
  18. linux下boost编译安装全过程脚本塈bzip2编译安装全过程脚本
  19. 童年记忆中的零食商品
  20. 自建dns代理服务器,自建DNS服务器使用二级域名转发内网服务器(示例代码)

热门文章

  1. Linux userdel
  2. python集合运算_python集合的运算(交集、并集、差集、补集)
  3. 如何在php中定义按钮,ppt中怎么插入自定义动作按钮
  4. 物理学四大神兽--拉普拉斯兽
  5. 魅蓝s6手机sim卡不显示无服务器,魅蓝S6图赏:拥有家族式设计风格的全面屏
  6. 交流电压标准:110V与220V
  7. Maven报错:Non-resolvable parent POM for XXX
  8. 我学习到的一些保险知识
  9. Word控件Spire.Doc 【页眉页脚】教程(7): 添加不同的首页页眉和页脚
  10. linux卸载压缩包命令,linux 安装rar 卸载