浪子海风
浪子海风
级别: 略有小成
精华主题: 0
发帖数量: 351 个
工控威望: 431 点
下载积分: 1246 分
在线时间: 109(小时)
注册时间: 2020-04-28
最后登录: 2024-04-29
查看浪子海风的 主题 / 回贴
楼主  发表于: 2022-03-07 13:51
图片:
图片:
如图:一直接通到256个,有没有一种简化的写法?
PLC:FX3GA
[ 此帖被浪子海风在2022-03-07 14:06重新编辑 ]
优伤的菊花
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
1楼  发表于: 2022-03-07 14:03
你这个只是逐个置位M0区的数据吗?简化程序在下个回复中。。
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
2楼  发表于: 2022-03-07 14:08
图片:
实现功能,只是逐个置位M0-M255
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
3楼  发表于: 2022-03-07 14:11
D1这个地址,只是用来做中转变量的,可以找其他地址替代。
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
4楼  发表于: 2022-03-07 14:22
刚刚测试了下,是PLC型号问题,3U的可以,FX3系列中其他的,如3G,3S的都不行
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
5楼  发表于: 2022-03-07 14:43
还有一种ST语言的写法,编译可以通过,我这没有硬件测试,你可以自测下
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
6楼  发表于: 2022-03-07 14:51
图片:
在FX3G中使用内嵌ST语言的写法
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
7楼  发表于: 2022-03-07 15:07
引用
引用第17楼梦雨天涯于2022-03-07 14:43发表的  :
想错办法了吧

这个最简洁。
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 70(小时)
注册时间: 2021-10-09
最后登录: 2024-04-26
查看18998923978的 主题 / 回贴
8楼  发表于: 2022-03-08 10:35
图片:
引用
引用第22楼浪子海风于2022-03-07 17:30发表的  :
一开始是我写的格式不对,所以以为PLC没有支持。
根据13楼 SL0301兄弟的方法:DECO D0 M0K8....这个方法在模拟中测得:
当D0=0时,M0=通  其它=断
当D0=1时,M1=通  其它=断  (没有锁存前面的M0)
当D0=2时,M2=通  其它=断   (没有锁存前面的M0 和M1)
.......



译码指令,本就只能有1个输出位;移位指令,就是多个位一起移动,外部复位移动区间的部分位,之后再使用移位指令的时候,这些被复位的位,也会一起启动;那完全满足示例中的要求的话,只能用变址,或数组;
关于变址:3GPLC在梯形图环境中,变址指令编译通不过,可以采用内嵌ST,或者直接用ST语言写一个FB块实现;
关于数组:在全局变量中声明一个长度为256个的BOOL数组,关联地址M0,通过X1上升沿,变动数组索引,再对变化后的数组索引位,进行置位操作;
[ 此帖被18998923978在2022-03-08 11:29重新编辑 ]