厦门阿米控技术有限公司——联系人:徐亚婷、 手机:180-2077-6785、QQ:28511-95472、座机:0592-5087595、邮箱:28511-95472@qq.com
0:ld x000 9: ld x0101:and x001 10:ld x011
2:and x002 11:and x012
3:ld x003 12:ld x013
4:or x004 13:and x014
5:anb 14:orb
6:out y000 15:or x015
7:or x006 16:anb
8:ld x010 17:out y001
在具体实现时,采用了另一种形式的栈。由于三菱fx系列plc的ld连续使用不能超过八次,因此采用一个可以位寻址的片内ram字节作为栈空间来存放当前状态值。如果使用栈空间的好高位作为当前状态值,每次压栈就把该字节进行不带进位的循环右移,出栈时反之。在ld x000指令执行后,进栈状态a没有出栈,ld x010指令又进栈保存当前状态值,以前的压栈值a废之不用,即每条与母线相连的ld指令产生压栈值都不出栈。这样避免了因使用pushpop指令用一个字节的空间来保存一位的当前状态值造成的ram利用效率低的问题。
ld x010后的指令执行过程如下:ld x010 把当前状态值h压栈,取x010的状态作为当前状态值i;ld x011把当前状态值i压栈,取x011的状态作为当前状态值j;and x012 把当前状态值j和x012的状态与运算后得到当前状态值k;ld x013把当前状态值k压栈,取x013的状态作为当前状态值l;and x014把当前状态值l和x014的状态与运算后得到当前状态值m;orb 弹出压栈值k和当前状态值m或运算后得到新的当前状态值m;or x015把当前状态值m和x015的状态或运算后得到当前状态值n;anb弹出压栈值i和当前状态值n与运算后得到新的当前状态值o;outy002 把当前状态值写到y002的输出镜像寄存器。
Allen Bradley Terminal base 1794-TB3/A
Allen Bradley Analog I/O Modul 1734-0E2V 92403071
mens Leistungsschalter 3VU1300-1NK00
mens RonIS Schlüssel Schalter 3SB3000-4AD01-Z
mens Schütz 3TF2031-0BB4
mens Simatic Digital Eingabe 6ES7131-4BF50-0AA0
Simatic NET Busanschlusstecker 6GK1500-0EA02
Simatic NET industrial Ethernet OMC 6GK1100-2AB00
Simatic NET Profbus Stecker 6GK1 500-0EA01
Simatic Net Steckleitung 6XV1850-2CH10
Simatic S5 MOBY ASM410 6GT2002-0BA00
Simatic S5 MOBY Kanalmodul 6GT2002-0AB00