中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 PLC论坛 → 浏览主题: 求助一个S7-300的小程序,哪位大师愿意分享一下
发表新帖 回复该主题
回帖:26个,阅读:381 [上一页] [1] [2] [3] [下一页]
* 帖子主题:

求助一个S7-300的小程序,哪位大师愿意分享一下

分享到
1007
雷志明
文章数:24
年度积分:53
历史总积分:1007
注册时间:2007/6/5
发站内信
发表于:2023/12/21 20:46:42
#0楼
求助一个S7-300的小程序,想法是计数后,计数得到一个结果后要跟一个数成整数的倍数时输出一个Q点,不是整数倍数不输出
5093
2537658335
文章数:130
年度积分:310
历史总积分:5093
注册时间:2014/5/20
发站内信
发表于:2023/12/21 21:05:52
#1楼
思路:将计数结果存到S,MOD(求余)某个整数A,得到的结果存到B,判断B=0是否成立,若成立,则输出Q点
20063
bnnyygy
文章数:5723
年度积分:729
历史总积分:20063
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2023/12/21 22:32:58
#2楼
//定义变量:INT 类型,ii_c,ii_temp,vi_i
//2位数的处理
IF ii_c >0 and ii_c<=99 then
vi_i:=10;
end_if;


CASE vi_i OF
10:
ii_temp:=(ii_c-(ii_c/10)*10);
END_CASE

if ii_temp=0 then
ob_q:=1;
ELSE
ob_q:=0;
END_IF



逻辑很简单。就是取余数,余数是不是0,我这个是汇川的EASY,方便模拟,遗憾没玩过300
20063
bnnyygy
文章数:5723
年度积分:729
历史总积分:20063
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2023/12/21 22:35:59
#3楼
如果没有取余指令

可以这样玩

vi_temp:=ii_c-(ii_c/10)*10


ii_c 如果是87

带入公式 vi_temp:=87-(87/10)*10

87-80:=7

位数更多的自己折腾吧。
1007
雷志明
文章数:24
年度积分:53
历史总积分:1007
注册时间:2007/6/5
发站内信
发表于:2023/12/22 6:35:59
#4楼
回复 #1楼 2537658335
是那个思路但像不准,现场编程软件版本V5.5 的只有双整数 MOD DI的这个指令。取余数比较0 是取双整数比较还是单整数
1007
雷志明
文章数:24
年度积分:53
历史总积分:1007
注册时间:2007/6/5
发站内信
发表于:2023/12/22 6:37:51
#5楼
回复 #3楼 bnnyygy
感谢回复,初学者,这个公式看不懂,
20063
bnnyygy
文章数:5723
年度积分:729
历史总积分:20063
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2023/12/22 8:00:05
#6楼
回复 #5楼 雷志明
小学数学学过吧
你要求87的余数怎么求?

余数目测是7
但是要有公式把;
反推
1,87-80=7
2,80=(87/10)*10


以上
[此贴子已经被作者于2023/12/22 8:00:42编辑过]
18655
pqsh 版主
文章数:7343
年度积分:485
历史总积分:18655
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2023/12/22 9:47:09
#7楼
以下是引用雷志明2023/12/22 6:35:59的发言:
是那个思路但像不准,现场编程软件版本V5.5 的只有双整数 MOD DI的这个指令。取余数比较0 是取双整数比较还是单整数
你的计数能到多大? 太大你就双整了.
如果你没有取余指令,还有一个办法就是, 用一个辅助的数, 开始跟着计数同步,当到需要比较的数时, 输出q, 然后它清零, 继续这样. 这个肯定是计数速度不高能反应过来的. 否则你可能取不到正好.
大概代码, 假设计数是累加, 放在MD100, 辅助数MD104, 整比较的在MD200. 输出Q10.0.
初始化--MD100=0, MD104=0, MD200=6, Q10.0=0. MOVE
MD100=MD100+1, ADD
MD104=MD104+1
|---[双整比较= MD104,MD200]-------(Q10.0)-
|                                |
|                                 ------[MD104=0]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1007
雷志明
文章数:24
年度积分:53
历史总积分:1007
注册时间:2007/6/5
发站内信
发表于:2023/12/22 11:59:22
#8楼
回复 #7楼 pqsh
程序里面别人做了计数存储在MW10 里面,计数数值过万了,我当时的思路用别人的MW10 除法取余数的方式,数据不知道怎么回事除法只能MD 余数也是MD 比较我就用了双整数比较,不准。我只是在里面添加一段小程序出来,给外面一个脉冲信号,
14447
xuhuifox
文章数:2690
年度积分:394
历史总积分:14447
注册时间:2005/3/25
发站内信
发表于:2023/12/22 12:19:10
#9楼
计数值等于设定的整数时、输出Q,将计数复位,重新计数,如此循环!搞那么复杂干什么!
                 一切为了生活
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005