求用s7-200对自动售易拉罐机编程(有三个投币孔1角,5角,1元,达到三元就出一听易拉罐)
问题补充:
我是新手,请给出梯形图编程。
最佳答案
方法就是:
自动售货机收集到的钱币数为Y元,1角投币孔投入一次为0.1元,5角投币孔投入一次为0.5元,1元投币孔投入一次为1元,只需要分别记录投入钱币的次数与从哪个口进入的即可!
举例:投入A次1角,投入B次5角,投入C次1元,则Y=0.1*A+0.5*B+C,若Y大于等于3,则触发一个输出信号,驱动执行机构,输出一听易拉罐,其实还需要做的工作就是把多投入的钱币找零:
需要找零的钱应该为Y-3元!找零的方式应该是:
先分析Y-3最大的可能数值,因为最大可能为0.9因此不会大于1元,则只需要考虑是否先提供5角的,剩余的用1角补充,即:
Y-3若大于0.5,则推出一个0.5,然后计算Y-3.5若大于0,1则输出一个0.1,一次类推,直至Y-3,5-N*0.1=0,执行完成,N小于等于4。
还有一种可能就是售货机中没有5角钱币了,若判断无5角钱币,则省去判断Y-3是否大于0.5,直接判断Y-3是否大于0.1直至最后为O停止输出。
思路如此即可,需要:
输出位3个:一个驱动输出易拉罐执行机构的位,一个输出5角钱币的位,一个输出1角钱币的位。
输入位3个:1角、5角、1元输入位。
程序过程就是顺序控制即可!
提问者对于答案的评价:
谢谢了!!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc321372.html