dickson
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 101 点
下载积分: 1098 分
在线时间: 17(小时)
注册时间: 2022-02-09
最后登录: 2022-11-15
查看dickson的 主题 / 回贴
楼主  发表于: 2022-05-09 09:35
图片:
可能我表达不太清晰,我想达到的程序功能是这样的:
1.通过开关运行,完成一个周期记录+1(这时候+1数值寄存进入D1),那么完成周期后会自动把D1数据乘以4(这时候D1*4数值寄存进入D10)
【该功能已实现】


2.我想在触摸屏上面显示D10数值,通过我输入功能框数值,能够实现运算差值的结果,那我该怎么做呢?(假设D10原来数值是10,但我现在在另一个方框输入2,D10显示数值为8)
【该功能未实现】


以上的要求不知道大家能够看得懂吗
dickson
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 101 点
下载积分: 1098 分
在线时间: 17(小时)
注册时间: 2022-02-09
最后登录: 2022-11-15
查看dickson的 主题 / 回贴
1楼  发表于: 2022-05-09 09:37
忘了说图中运行的异常问题,当模拟运行的时候,D1*K4的功能是正常运行的,但是D10-K1的数值依旧是未变更的
小莫西
级别: 略有小成
精华主题: 0
发帖数量: 219 个
工控威望: 307 点
下载积分: 1866 分
在线时间: 205(小时)
注册时间: 2018-12-02
最后登录: 2024-12-20
查看小莫西的 主题 / 回贴
2楼  发表于: 2022-05-09 09:47
10-2不就好了嘛
dickson
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 101 点
下载积分: 1098 分
在线时间: 17(小时)
注册时间: 2022-02-09
最后登录: 2022-11-15
查看dickson的 主题 / 回贴
3楼  发表于: 2022-05-09 09:57
图片:
我目前就是想把减2数据写回D10,但是就是不行
dickson
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 101 点
下载积分: 1098 分
在线时间: 17(小时)
注册时间: 2022-02-09
最后登录: 2022-11-15
查看dickson的 主题 / 回贴
4楼  发表于: 2022-05-09 09:58
引用
引用第2楼小莫西于2022-05-09 09:47发表的  :
10-2不就好了嘛


10-2?朋友请看看下图,我不太理解
木林森
级别: 工控侠客
精华主题: 0
发帖数量: 319 个
工控威望: 2087 点
下载积分: 2213 分
在线时间: 213(小时)
注册时间: 2020-08-16
最后登录: 2024-12-18
查看木林森的 主题 / 回贴
5楼  发表于: 2022-05-09 10:28
假设触摸屏上输入方框是D12
if  d14 <> d12  then
d14:=d12;
d10:=d10-d12;
end_if;
菜鸟学工控_1
级别: 工控侠客
精华主题: 0
发帖数量: 388 个
工控威望: 2302 点
下载积分: 2842 分
在线时间: 158(小时)
注册时间: 2017-08-29
最后登录: 2024-12-17
查看菜鸟学工控_1的 主题 / 回贴
6楼  发表于: 2022-05-09 10:49
很简单,和5楼大佬的思路是一样的,假设你的运算差值寄存是D20,PLC多写一行,D20=0时,D4*4=D10,  D20<>0时,D10=D10-D20,多一行判断程序就好了
dickson
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 101 点
下载积分: 1098 分
在线时间: 17(小时)
注册时间: 2022-02-09
最后登录: 2022-11-15
查看dickson的 主题 / 回贴
7楼  发表于: 2022-05-09 10:54
引用
引用第6楼菜鸟学工控_1于2022-05-09 10:49发表的  :
很简单,和5楼大佬的思路是一样的,假设你的运算差值寄存是D20,PLC多写一行,D20=0时,D4*4=D10,  D20<>0时,D10=D10-D20,多一行判断程序就好了

谢谢 我回去试试
marksman_01
一起进步
级别: 家园常客
精华主题: 0
发帖数量: 482 个
工控威望: 524 点
下载积分: 3287 分
在线时间: 135(小时)
注册时间: 2019-06-01
最后登录: 2024-12-20
查看marksman_01的 主题 / 回贴
8楼  发表于: 2022-05-14 16:07
程序顺序问题,把公差计算放到乘积运算下面,
你这个给D10赋值完全无意义,因为会被下一行的D1*K4给覆盖