楼主: biggerms
收起左侧

[应用问题] 刚学ST编程,这个贩卖机的案例,该如何写,已写出部分功能

wangxuan 2021-12-3 09:45:03 | 显示全部楼层
邀请回答
退钱记得清零(刚入门,太深奥的我也不会)
回复 邀请回答送花

使用道具 举报

biggerms 2021-12-3 10:23:33 | 显示全部楼层
wangxuan 发表于 2021-12-3 09:43
余额叠加的还好,识别不知道怎么做。
Y余额:=Y余额+投入钱数;  (自动识别钱数,往投入钱数给于数值);

自动贩卖机程序,涉及很多知识点,有需要的可以参考下
http://bbs.inovance.com/forum.php?mod=viewthread&tid=6811
我上传了完整版,可以参考下
回复 送花

使用道具 举报

biggerms 2021-12-3 10:26:28 | 显示全部楼层
JeffreyNan 发表于 2021-12-3 08:18
我也刚学ST编程,正好拿你这个案例学习一下,这是我写的

学习了。
完整版我已经写出来了,这里可以看

http://bbs.inovance.com/forum.php?mod=viewthread&tid=6811

回复 送花

使用道具 举报

biggerms 2021-12-3 10:31:38 | 显示全部楼层
JeffreyNan 发表于 2021-12-3 08:18
我也刚学ST编程,正好拿你这个案例学习一下,这是我写的

看你写的很好,原来还可以这样写,都合并到一起,真是学习了。简短 好看
我是这样的,感觉太乱了。
R_TRIG_0(CLK := 壹元投入 );       //利用上升沿,避免出现连续触发的情况
       壹_IN := R_TRIG_0.Q ;
R_TRIG_1(CLK := 五元投入 );      
       五_IN := R_TRIG_1.Q ;          
R_TRIG_2(CLK := 拾元投入 );      
       拾_IN := R_TRIG_2.Q ;
IF 壹_IN = 1 THEN               // 利用中间变量,进行投入金额累加
        TR投入金额 := TR投入金额 + 1 ;
END_IF ;
IF 五_IN = 1 THEN
    TR投入金额 := TR投入金额 + 5 ;
END_IF ;
IF 拾_IN = 1 THEN
    TR投入金额 := TR投入金额 + 10 ;
END_IF ;

IF TR投入金额 >= 5 THEN            // 根据投入金额进行判断 汽水和咖啡是否亮灯
    QS汽水指示 := 1 ;
    ELSE
        QS汽水指示 := 0;   
END_IF;
IF TR投入金额 >= 7 THEN
    KF咖啡指示 := 1 ;
    ELSE
        KF咖啡指示 := 0 ;
END_IF;
IF TR投入金额 > 0 THEN
    ZQ找钱指示 :=1 ;
    ELSE
        ZQ找钱指示 := 0 ;
END_IF ;
回复 送花

使用道具 举报

biggerms 2021-12-3 11:52:33 | 显示全部楼层
JeffreyNan 发表于 2021-12-3 08:18
我也刚学ST编程,正好拿你这个案例学习一下,这是我写的

我用你的方法把指令都合并后,发现一个问题
合并后,发现在够买汽水时候,如果这个时候在按 购买汽水,就会自动扣钱,按一次,扣一次,买咖啡也是一样。

用我之前的没合并的测试,就没有这现象。
不知道是什么问题
回复 送花

使用道具 举报

JeffreyNan 2021-12-4 11:09:29 | 显示全部楼层
biggerms 发表于 2021-12-3 11:52
我用你的方法把指令都合并后,发现一个问题
合并后,发现在够买汽水时候,如果这个时候在按 购买汽水,就 ...

确实存在这个BUG,只需要增加一个工作中的标志位,将出汽水,出咖啡,找零动作任何一个在工作中都给定工作中的标志位,再讲工作中的标志位信号加入出汽水,出咖啡,找零的触发条件中即可

IF VB_出汽水 OR VB_出咖啡 OR VB_找零中 THEN
VB_工作中:=1; ELSE VB_工作中:=0;
END_IF

R_Trig_售卖汽水脉冲(CLK:= IB_售卖汽水 AND NOT VB_工作中, Q=> );
R_Trig_售卖咖啡脉冲(CLK:= IB_售卖咖啡 AND NOT VB_工作中, Q=> );
R_Trig_找零脉冲(CLK:= IB_找零 AND NOT VB_工作中, Q=> );
回复 送花

使用道具 举报

biggerms 2021-12-6 09:23:31 | 显示全部楼层
JeffreyNan 发表于 2021-12-4 11:09
确实存在这个BUG,只需要增加一个工作中的标志位,将出汽水,出咖啡,找零动作任何一个在工作中都给定工 ...

明白了,谢谢
回复 送花

使用道具 举报

zhi_good 2022-6-23 09:10:34 | 显示全部楼层

好好学习,天天向上。
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部