Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取

node-red版块图片

本文讲述如何利用node-red与欧姆龙CP1H进行以太网连接,读取PLC地址数值或多个读取,网页效果图如下。

95cf812d8fedc590f9623d65f20a868

网页效果图如上,下面开始讲解图上功能该如何制作,首先准备一个欧姆龙PLC,型号为CP1H,该型号图示如下。

欧姆龙图片

接通电源,如下图示。

图片[4]-Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取-汉联工控吧

本型号没有内置以太网接口,需添加模块,模块型号为CP1W-CIF41。

图片[5]-Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取-汉联工控吧

添加模块后可以自行设置模块IP地址,本文模块IP地址为192.168.1.10。

  说明:本型号PLC在添加模块后,需先用数据线直连通讯,找到D32455和D32456这两个寄存器中的十六进制数并转换成十进制,如模块插在选件板插槽1需查看D32155和D32156,还需要注意选件板插在插槽1位置要把DIP#4往右拨,插在插槽2位置需把DIP#5往右拨,找到寄存器中十六进制转换成十进制后可以进入网页设置或更改地址,如本文地址为192.168.1.10那么网页地址为入http://192.168.1.10/C00.htm,设置完成后在换成网口通讯。

网口通讯完成后,我们在程序里写几条程序方便读取数值,如下图示。

e37d080db2ffee4aae1ba2172cb5e8e

由于作为案例来使用,写了几条简单的数据转移指令,也可以自行写指令。

程序下载通讯完成后,打开node-red。

打开node-red后,需先添加几个节点,节点为(node-red-dashboard,node-red-node-ui-table,node-red-contrib-omron-fins),如下图示。

cb49679cc8d3e319341e6d2ba6e171a

d45725dda266c4bb47971a00b141f9f

2b1436149cdaed643a1bf50874bb64b

下载完成后,拉出第一个节点。

fe0e3d881078430a90a6ade4e8d8d1f

打开【text input】节点,在【group】栏点击右侧画笔新增群组,如下图示。

a7e39ab2b2f1e3f005bf2f48fecabc9

点击画笔进入【dashboard group】节点,在【name】栏输入【IP地址】,【tab】栏点击右侧画笔新增一个标签,如下图示。

4421a5c39bf4bf438d9731feb5f843e

点击【tab】画笔进入【dashboard tab】配置,在【name】输入【PLC测试】,在【lcon】栏输入【dashboard】,如下图示。

28d07df148755483fd6c77ddfeded11

点击右上角的【更新】按钮,回到【text input】节点把该节点配置完成,在【label】栏输入【IP地址】,在【mode】栏选择【text input】,【topic】栏属性值为【msg.topic】,如下图示。

99af349049c8b7176b87e3fbab0e460

拉出第二个节点。

0cb4017cab11c7d326ee98ad32a13f5

【change】节点为node-red自带节点,可以在【功能】节点工具箱找到,打开【change】节点,点击左下角的【添加】按钮新增一条属性框,选中【设定】,属性值为【flow.plc】to the value【msg.payload】,如下图所示。

45baf7d14d8245f2f76cef09bca34e9

拉出【button】节点。

ba3ac3601e82937854c6dc84a3345fa

打开【button】节点,在【group】栏选中之前配置的【[plc测试]IP地址】,在【label】栏输入【连接PLC】,【payload】属性值为【flow.plc】,【topic】属性值为【msg.topic】,如下图所示。

3add45aa4efb7d78bf7c0975f125fe4

拉出【function】节点。

85d22d5111e89702c80852cd78d5708

【function】节点能够在【功能】节点工具箱中找到,打开【function】节点,在【名称】栏输入【函数1】,代码如下图所示。

9c49bd789f5540920b351c6b7fe6b73

拉出【fins controal】节点。

d98a371a4c120d0956231518228a643

打开【fins control】节点,在【name】栏输入【用于控制目的】,在【connection】栏点击右侧画笔进入【fins connection】节点进行连接设定,如下图所示。

fa7e6c274b7246067589bcbd15ca18a

进入【fins connection】节点,在【protocol】栏选择【tcp】网络通讯,【mode】栏选择【cp】型号,【host】栏输入PLC IP地址,【port】栏输入端口号,【ICF】栏输入【0x80】,【DA1】栏输入IP地址最后几位数,【SA1】栏输入【179】,如下图所示。

e8c2eeb54a46f5583e0377fa57421a2

点击完成回到【fins control】节点,在【output property】属性值为【msg.payload】,【command】属性值为【msg.topic】,【</>Connect opts】栏属性值为【msg.options】,如下图所示。

a77f66106a6c6c932831893fe8bc4c7

再次拉出【button】节点

7b32c2ae92a568cf57975c20c33381a

打开【button】节点,在【group】栏选择【[PLC测试]IP地址】群组,【label】栏输入【断开PLC】,【topic】栏属性值为【msg.topic】,如下图所示。

5f2d929085bec058709a3a2e60b1f0c

再次拉出【function】节点。

cb0a754f3c6854f1c60b959e88ceaea

打开【function】节点,在【名称】栏输入【函数2】,输入以下代码。

909eef4820359b1e47d4d8e9a4cdedf

拉出【text】节点。

2f1ca4fe729b03ea0f5dda5e58e455e

打开【text】节点,在【group】栏选择【[PLC测试]IP地址】,【label】栏输入【状态】,【value format】栏属性值为【{{msg.stat}}】,如下图所示。

4f578f0618aed4aacc4053e5f18534d

再次拉出【text】节点置于【连接PLC】节点后方。

d317e322d49e8c6c246b51dcee2bdd9

打开【text】节点,在【group】栏选择【[PLC测试]IP地址】,【label】栏输入【PLC地址】,【value format】栏属性值为【mag.payload】,如下图所示。

4c79436c57de6acf94bb6bcc8ca57b5

把【函数1】节点跟【状态】节点相连,【函数2】节点跟【用于控制目的】节点相连,如下图所示。

16f903a84c701f81ba643534ff9c6f6

拉出【inject】节点跟【状态】节点相连。

7b05006775f3948c75a1d6aeee594dc

打开【inject】节点,属性值条件为【msg.payload】=【时间戳】,如下图所示。

c3edf5d570965acd166159a9ab81631

另起一行,拉出【text input】节点。

0cb7725099d6328aadb1462d29ef0c5

打开【text input】节点,在【group】栏点击右侧画笔再次新增一个群组,进入【dashboard group】节点,在【name】栏输入【读取内存地址】,【tab】栏选择之前建好的【PLC测试】标签,如下图所示。

e58c22b1d35457922fa996b91ca5893

【dashboard group】节点新增好后点击更新回到【text input】节点,在【group】栏选择刚刚建好的【[PLC测试]读取内存地址】群组,在【label】栏输入【内存地址】,【mode】栏选择【text input】,【topic】属性值为【msg.topic】,如下图所示。

6fe614b915f070edf0009748fe5a2d7

拉出【change】节点。

8ae9daa018da15ff29686fbb4289c36

打开【change】,选择【设定】,属性值条件为【flow.address】to the value【msg.payload】,如下图。

627be5922136ce2aa0f917756ce3a92

拉出【button】节点。

edce9c120ca2b80dd6d2e7c48264916

打开【button】,在【group】栏选择【[PLC测试]读取内存地址】群组,【label】栏输入【读取内存】,【payload】栏输入【flow.address】,【topic】栏输入【msg.payload】,如下图所示。

a68f75aac073a0a3df3f3e18fdf4689

拉出【fins read multiple】节点。

7823a1f9876be0af807788f3a787e2c

打开【fins read multiple】节点,在【name】栏输入【fins读取多个】,在【connection】选择建好的IP地址,在【addresses】栏属性值【flow.address】,在【output property】属性值为【msg.payload】,【output】栏选择【unsignd key/value】,如下图所示。

228ef8a57daa03b0802e6b0f204ea35

拉出【function】节点。

b21fd5d9d65bfc672ffbd6017580eb8

打开【function】节点,代码如下图所示。

fcd522cf2d50578ff25fe5f7f9f3f78

拉出【text】节点。

167c0b74cbd934de74d0b739262a883

打开【text】节点,在【group】栏选择【[PLC测试]读取内存地址】,在【label】栏输入【数值】,【value format】栏属性值为【{{msg.payload[0]}}】,如下图所示。

afef630a435f736244f8d62039b7702

另起一行拉出【form】节点。

1781193d36184998179ca4cfeec382a

打开【form】节点,在【group】栏点击右侧画笔进入【dashboard group】节点新增群组,进入【dashboard group】节点,在【name】栏输入【读取多个内存地址】,在【tab】栏选择之前的【PLC测试】标签,如下图所示。

daf64fdacaae8b6738fc542457d9fc0

点击更新按钮回到【form】节点,在【group】栏选择【[PLC测试]读取多个内存地址】群组,在【form】栏下面点击【element】新增两个条件,第一个条件为【label】栏输入【读取多个地址】,【名称】栏输入【address】,【type】栏输入【text】,第二个条件为【label】栏输入【数量】,【名称】栏输入【count】,【type】栏输入【number】,如下图所示。

89028e2185eca6d42a4a88361eef012

拉出【fins read】节点。

51bd02a0bf0245a9d94946520be52ec

打开【fins read】节点。在【name】栏输入【fins读取】,在【connection】栏选择IP地址,【address】栏属性值为【msg.payload.address】,【count】栏属性值为【msg.payload.count】,【output property】栏属性值为【msg.payload】,【output】栏选择【unsigned key/value】,如下图所示。

037b7d57cb33ddfa20046aef23c94f3

拉出【function】节点。

25bbc165d0825f99658bd03478be08f

打开【function】节点,输入以下代码,如图所示。

108489ae7d8ac802261416f1f3ca6de

打开节点管理下载节点(node-red-node-ui-table),如图所示。

b548de29f0c49a059a9e6b8041bcf8d

拉出【table】节点。

25555b8103945f0c584c6c53c6d3f72

打开【table】节点,在【group】栏选择【[PLC测试]读取多个内存地址】,如下图所示。

3b57f92001b52b9b5e2df549fccffda

拉出【inject】节点,与【函数】节点相连,如下图所示。

da6d33aff1a1c7e260c2933ec584f59

打开【inject】节点,属性值为【msg.payload】={}json,如下图所示。

002504e10a8e043a68b5736cb739d33

{}json内容为,如下图所示。

5b55edc8dfd0a618092395ce85cdcb7

把【inject】节点跟【fins读取多个】节点后的【函数节点】相连,如下图所示。

dd725eead6217f60baf3b2dac420cc8

把【用于控制目的】节点跟【fins读取多个】和【fins读取】相连,如下图所示。

fe178e824fdba86230c8da3c3551b4d

部署完成后我们就可以进入网页观看效果图了.

图片[64]-Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取-汉联工控吧

网页效果图如下。

65229a2f02016ffa36229de7a07cf05

Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取-汉联工控吧
Node-RED教程 – 27 欧姆龙PLC进行以太网连接读取地址或多个读取
此内容为付费资源,请付费后查看
R币30
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
如您遇到问题,请加客服微信(han-link_cn)沟通
建议您登陆后购买,以保存订单信息
付费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情图片

    暂无评论内容