施耐德M580项目 点击:974 | 回复:18



工控左工

    
  • 精华:2帖
  • 求助:2帖
  • 帖子:10帖 | 119回
  • 年度积分:793
  • 历史总积分:4102
  • 注册:2017年12月23日
发表于:2021-07-17 07:22:50
楼主

采用软件:unity Pro XL

目的:基础M580编程组态以及和后台组态王的通讯实现


主要用于新手借鉴MODbus通信组态王针对性转换DIDO及M区


组态王和施耐德主要通过MODBUS TCP 


正常组态完成后 组态王采用400001起始可以读写施耐德莫迪康的%MW区。


需要注意的是莫迪康M580 %MW区区别于西门子点在于:


     如施耐德%MW0 可以表示INT DINT REAL  ,当他表示INT时,涵盖MW0:0-15字节,下一个不重复叠加的整数可以命名为%MW1;表示DINT REAL 时涵盖MW0:0-15字节及MW1:0-15字节,下一个不重复叠加的双整数或浮点数可以命名为%MW2  对应组态王读取可设置为I/O整数或实数,区域为400001

     区别于西门子%MW0 可以表示INT ,而表示DINT REAL 则应该用MD0 ,当他表示INT时,涵盖MB0:0-7字节及MB1:0-7字节,下一个不重复叠加的整数可以命名为%MW2;表示DINT REAL 时涵盖MW0及MW2,下一个不重复叠加的双整数或浮点数可以命名为%MD4 对应组态王读取可设置为I/O整数或实数,区域为400001


由于莫迪康输入输出及M区写起来以及组态王换算起来比较麻烦,一般建议采用UNTIY中自带的bit_to_word或者word_to_bit转换成%MW区。


此时要注意的是莫迪康中M区和MW区不是一个区域,如西门子中采用M0.0表示一个位,对应莫迪康中编辑变量表才用的只能是%M1~%MXXX,但是此时的%M1不属于%MW1  这点也是区分于西门子编程。


如  我程序中编辑变量表bool量:

1.png

此时变量表中可以同时存在%MW0表示一个值,%M0表示一个动作互不干扰。


组态硬件和西门子类似,如图所示:

4.png

硬件组态完成后其IO地址便固定了,不像西门子可以选择更改,这里不支持更改。

我们移动鼠标到DI模块,如下图:

5.png

会发现本程序中DI其实为%I0.2.X (如第一个模块为0.2.0-0.2.15) 所以我变量表中起始编辑如下:

2.png

再移动DO第一个模块,和DI类似,这里是从0.6.X开始的:

IW及QW如上。


在组态王通讯时,我们尽量把DIDO及M区转换成%MW,这样就方便组态王读写。


DI时我们调用bit_to_word.如我把%I0.2.0~0.2.15转换成%MW0,此时当0.2.0为1时,组态王直接读取I/O离散量400001.0,此时该值也将编程1.

DO时我们调用bit_to_word.如我把%Q0.6.0~0.6.15转换成%MW2,此时当0.6.0为1时,组态王直接读取I/O离散量400003.0,此时该值也将编程1.

M时我们调用word_to_bit.如我把%MW4%转换成%M1-M16,此时当0组态王直接写入I/O离散量400005.0位为1,此时该%M1值也将置位为1.

具体如下图程序


我们可以采用write_var和read_var对MODBUS TCP上其他设备参数进行循环读写。注意同时不能置位多个读写程序,只能循环轮询。如下图:

组态王对于时间的设定,我们可以在程序中进行转换。unity的好处在于内部直接集成了INT_TO_TIME或者REAL_TO_TIME,当然还有更多。需要注意的是:

①转换出来的值是ms  设定前需要进行转换如MUL60000.0即为分钟;MUL36000000.0即为小时。

②INT的时候要注意最大值为65535,所以不能直接乘以36000000,会超量程,所以我习惯用REAL

转换过程中用到一些中间变量可以直接在变量表中命名以及选择数据类型,中间变量可以不选择地址。



基本就以上问题,具体可以参考我写的程序。组态王画面未提供需要的可以自己编辑个别变量进行测试。


欢迎各位同行交流指正。


正在下载,请等待……
下载附件需5积分!

1分不嫌少!



工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:10帖 | 121回
  • 年度积分:1104
  • 历史总积分:4413
  • 注册:2017年12月23日
发表于:2021-07-19 19:46:16
1楼

这帖子居然没人看?    自己留个言

花笙米

  • 精华:0帖
  • 求助:8帖
  • 帖子:15帖 | 204回
  • 年度积分:1144
  • 历史总积分:2301
  • 注册:2018年7月24日
发表于:2021-07-20 21:49:31
2楼

刚好第一次接触M580项目,学习下

fighting2021

  • [管理员]
  • 精华:4帖
  • 求助:3帖
  • 帖子:758帖 | 6038回
  • 年度积分:2230
  • 历史总积分:14162
  • 注册:2008年11月11日
发表于:2021-07-23 16:07:53
3楼

"工控左工" 的回复,发表在1楼
        对内容: 【这帖子居然没人看?    自己留个言】进行回复:

        -----------------------------------------------------------------


已经加精

booet

  • 精华:0帖
  • 求助:3帖
  • 帖子:5帖 | 89回
  • 年度积分:150
  • 历史总积分:229
  • 注册:2010年3月30日
发表于:2021-07-23 19:19:11
4楼

刚开始接触施耐德PLC,支持一下楼主,感谢楼主分享。。。

Ph_318

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 44回
  • 年度积分:21
  • 历史总积分:69
  • 注册:2014年12月06日
发表于:2021-07-23 22:21:06
5楼

感觉国内现在施耐德的用的多,但还是给你点个赞

csouchao

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:6
  • 历史总积分:29
  • 注册:2012年6月02日
发表于:2021-08-01 18:46:24
6楼

收藏学习


工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:10帖 | 121回
  • 年度积分:1104
  • 历史总积分:4413
  • 注册:2017年12月23日
发表于:2021-08-05 16:37:22
7楼

"fighting2021" 的回复,发表在3楼
        对内容: 【"工控左工" 的回复,发表在1楼        对内容: 【这帖子居然没人看?    自己留个言】进行回复:        --------------------------------------...】进行回复:

        -----------------------------------------------------------------


谢谢支持

问学_23

  • 精华:1帖
  • 求助:6帖
  • 帖子:33帖 | 1153回
  • 年度积分:21
  • 历史总积分:12398
  • 注册:2005年2月14日
发表于:2021-08-11 10:57:23
8楼

收藏学习

Lonely_99

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2235回
  • 年度积分:46
  • 历史总积分:189
  • 注册:2014年10月29日
发表于:2021-08-11 11:20:49
9楼

收藏学习

libs880

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 82回
  • 年度积分:41
  • 历史总积分:55
  • 注册:2011年5月20日
发表于:2021-08-30 15:11:40
10楼

谢谢楼主分享,

倪云涛

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 48回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2003年12月20日
发表于:2021-09-15 00:45:20
11楼

太感谢了,不在这里回复以下,感觉对不住搂主 的热心奉献,写得很详细.一直西门子的系统,施耐德不熟悉,刚好你在这里做了解释

倪云涛

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 48回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2003年12月20日
发表于:2021-09-15 00:46:21
12楼

楼主,组态王的版本是哪个可以用呢.7.5的可以吗

东哥和你妹

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:4
  • 历史总积分:62
  • 注册:2019年8月09日
发表于:2021-09-15 15:57:49
13楼

回复内容:

对:工控左工 这帖子居然没人看?    自己留个言     内容的回复:

老大,你整复杂了。问下官网,人家有更好的办法。。。用循环语句很方便。

东哥和你妹

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:4
  • 历史总积分:62
  • 注册:2019年8月09日
发表于:2021-09-15 15:57:51
14楼

回复内容:

对:工控左工 这帖子居然没人看?    自己留个言     内容的回复:

老大,你整复杂了。问下官网,人家有更好的办法。。。用循环语句很方便。

东哥和你妹

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:4
  • 历史总积分:62
  • 注册:2019年8月09日
发表于:2021-09-15 16:03:31
15楼

专注自动工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 98回
  • 年度积分:3045
  • 历史总积分:3633
  • 注册:2007年4月07日
发表于:2021-09-15 16:08:40
16楼

可以!学习学习


工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:10帖 | 121回
  • 年度积分:1112
  • 历史总积分:4421
  • 注册:2017年12月23日
发表于:2021-09-18 08:30:50
17楼

"倪云涛" 的回复,发表在12楼
        对内容: 【楼主,组态王的版本是哪个可以用呢.7.5的可以吗】进行回复:

        -----------------------------------------------------------------


7.5可以

工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:10帖 | 122回
  • 年度积分:1112
  • 历史总积分:4421
  • 注册:2017年12月23日
发表于:2021-09-18 08:31:52
18楼

"东哥和你<此处内容被屏蔽>" 的回复,发表在13楼
        对内容: 【回复内容:对:工控左工 这帖子居然没人看?    自己留个言     内容的回复:老大,你整复杂了。问下官网,人家有更好的办法。。。用循环语句很方便。...】进行回复:

        -----------------------------------------------------------------


那我去学习优化下,谢谢支持


相关主题

官方公众号

智造工程师