施耐德M580项目 点击:6591 | 回复:47



工控左工

    
  • 精华:2帖
  • 求助:2帖
  • 帖子:11帖 | 136回
  • 年度积分:708
  • 历史总积分:6993
  • 注册: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分不嫌少!


楼主最近还看过



冀欣

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:5000
  • 注册:2019年1月10日
发表于:2021-10-30 10:28:20
21楼

谢谢

工控菜鸟90

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 87回
  • 年度积分:4
  • 历史总积分:111
  • 注册:2018年9月24日
发表于:2021-10-30 15:06:20
22楼

收藏学习



silky_56

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1828回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年8月15日
发表于:2021-11-02 15:32:16
23楼

谢谢楼主的分享

芽菜@技术豆

  • 精华:0帖
  • 求助:4帖
  • 帖子:23帖 | 326回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2021-11-06 15:25:14
24楼

嘿嘿,我刚好也做了个施耐德M241与MCGS的项目

TRHHERTG

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 1878回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2016年10月19日
发表于:2021-11-08 00:43:19
25楼

正解,简单的东西不能写复杂了,不利于程序可读性

laoge

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 145回
  • 年度积分:0
  • 历史总积分:142
  • 注册:2021年12月10日
发表于:2022-02-10 09:05:24
26楼

学习学习!!

carrier

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2020年9月15日
发表于:2022-02-15 09:56:24
27楼

谢谢,正好有个M580项目,可以用上了。

工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:11帖 | 136回
  • 年度积分:708
  • 历史总积分:6993
  • 注册:2017年12月23日
发表于:2022-04-13 12:23:35
28楼

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

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


可以

老三302

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2018年10月02日
发表于:2022-05-24 17:11:00
29楼

学习下

lcc2019

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2018年8月16日
发表于:2022-05-29 10:47:52
30楼

收藏学习



郭冬冬

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 619回
  • 年度积分:91
  • 历史总积分:147000
  • 注册:2022年4月24日
发表于:2022-06-16 17:53:25
31楼

感谢分享,收藏学习一下

chenrenfu

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 651回
  • 年度积分:23
  • 历史总积分:127
  • 注册:2011年9月08日
发表于:2022-07-19 09:27:35
32楼

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

silky_56

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1828回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年8月15日
发表于:2022-08-23 09:27:01
33楼

收藏学习

guoket

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1522回
  • 年度积分:0
  • 历史总积分:699
  • 注册:2011年10月09日
发表于:2022-09-23 20:18:07
34楼

值得学习,感谢分享!!!

TRHHERTG

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 1878回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2016年10月19日
发表于:2022-09-26 23:15:31
35楼

正解,简单的东西不能写复杂了,不利于程序可读性!

TRHHERTG

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 1878回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2016年10月19日
发表于:2022-09-28 09:45:41
36楼

正解,简单的东西不能写复杂了,不利于程序可读性!

工控左工

  • 精华:2帖
  • 求助:2帖
  • 帖子:11帖 | 136回
  • 年度积分:708
  • 历史总积分:6993
  • 注册:2017年12月23日
发表于:2022-10-09 15:32:09
37楼

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

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


可以

highblue

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 45回
  • 年度积分:17
  • 历史总积分:104
  • 注册:2004年3月08日
发表于:2023-01-18 10:59:07
38楼

收藏学习

Lonely_99

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2508回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2014年10月29日
发表于:2023-01-18 11:10:07
39楼

谢谢楼主分享,

国王与小鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 63回
  • 年度积分:4
  • 历史总积分:278
  • 注册:2010年4月28日
发表于:2023-02-04 00:12:57
40楼
请问M580是否还有过去的MB+通讯呢?

热门招聘
相关主题

官方公众号

智造工程师