我用300Step7软件编写。已经发了一个问题了,但没说清楚,故新发一贴。原帖地址http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=83893&cid=1029。
目前有36个阀门,一台HMI TP1500,一台314CPU。需求是用户可以在触摸屏上选择36个阀门的打开顺序,进而PLC根据用户输入的顺序来启动相应阀门。
我用VB编写了一个算法,
For I=1 to 36;
For J=1 to 36
If a(J)=I,Then b(J)=True and break;
J=J+1;
Next
I=I+1;
Next
但却不知道step7里怎么写。或者各位有别的思路吗?急,谢谢了
最佳答案
感觉好像是先进先出的问题。只做了4个的例子:
MW300——1#阀动作顺序,假设为4;
MW302——2#阀动作顺序,假设为2;
MW304——3#阀动作顺序,假设为1;
MW306——4#阀动作顺序,假设为3;
MW10用来记录工作的顺序,其值在每个工序完成后增加1,即:1—>2—>3—>4—>1。(注意超过4后要强制为1)
图片说明:
提问者对于答案的评价:
谢谢程序和解释,我采用了你的思路,PLC扫描本身就相当于一种循环,看来和高级语言还是有不同的
最佳答案作者回复:
PLC是循环扫描,扫描一次后更新一次数据。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246171.html