广西柳州中国西门子一级供货商
在下节讨论位指令前先讨论一下SIEMENS的模块地址:在不带DP口的S7-300和不组态的S7-400采用固定槽位编址,使用带DP口的S7-300和S7-400,可以分配模块的起始地址。但要注意,由于CPU存储器复位后,参数和地址会丢失,这就意味着所有地址都回到和槽位有关的地址或是缺省地址。我们还是以S7-300为例,在S7-300中,机架上的插槽号简化了模块地址,模块的第一个地址由机架上的模块地址决定。一般槽1给电源,槽2是CPU,槽3为IM(接口模板)所用,4~11为I/O卡、CP卡和FM卡。他们的固定地址就是为每个槽位保留4个字节——就是说,槽4(第一块I/O卡),地址为0.0~3.7(共32位),槽5(第二块I/O卡)地址为4.0~7.7,假设第一卡是DI,那么他们的地址就是I0.0、I0.1、、、I3.7,若第二卡为DO卡,地址为Q4.0、Q4.1、、、、Q7.7,请注意,当使用16通道的DI/DO模块时,每个槽位就会失去两个字节(16位)。
基本逻辑指令
与 &(FBD) A(STL) (AND指令)
或 >=1(FBD) O (STL) (OR指令)
异或 XOR(FBD) X(STL) (XOR指令)
注意:异或操作是指:当两个信号中仅有一个满足时,输出状态才是“1",这个指令不能使用于多个地址的异或逻辑操作(N个中有一个1时才是1),三个及三个以上的异或指令,旧的RLO(逻辑操作结果)和另一个输入作异或运算。
赋值语句 =
置位 S 光是置位,一直保持到它被另一个指令复位为止。
复位 R 光是复位,一直保持到它被另一个指令置位为止。
触发器的置位复位:有置位输入和复位输入,如果两个输入端出现RLO=1,根据优先级。在LAD/FBD中,分别有置位优先和复位优先的不同符号,在STL中,*后编写的指令具有高优先权。
注意:如果用置位命令把输出置位,当CPU全启动时它被复位,但如果声明保持,则当CPU全启动时,它就一直保持置位状态。
连接器:M0.0(#),为中间赋值元件,它把当前RLO保存到地址,当它和其他元件串联时,连接器指令和触点一样插入。
注意连接器不能:
直接连接到电源母线
直接跟一个分支;
用在分支末尾。
但连接器可以用“NOT"元件对它进行取反操作。
影响RLO的指令:
NOT=取反;CLR=复位(仅用在STL中);SET=置位(仅用在STL中);SAVE=把RLO保存到状态寄存器中的“BR";BR=用来重新检查保存的RLO。
主控继电器功能MCR:是一个用来接通或断开电流的逻辑主开关。如果MCR条件不满足:0分配给输出线圈,置位线圈和复位线圈指令不改变当前值,MOVE指令把0传到目的地址。MCRA指令启动主控继电器功能/MCRD指令取消MCR功能,直到另一个MCRA指令起作用。
无条件转移(不依赖于RLO) JMP
在LAD/FBD中,在线圈符号上面输入作为表示的标号或符号,如NEW1,NEW2等,标号*多有4个字符,第一个字符必须使用字母或“_"。
跳转规则:可以向前或向后跳转,跳转指令和跳转目的必须在同一个块中(*大跳转长度为64K字节);在一个块中跳转目的只能出现一次;跳转指令可以用在FB、FC和OB中。
条件跳转:有两个:JC——当RLO=1时,JC才执行,当RLO=0时,不跳转,继续执行下面的程序,但置RLO=1。JCN——当RLO=0时,JCN才执行,当RLO=1时,不跳转。
边沿检测:RLO-边沿检测和信号-边沿检测。
RLO-边沿检测:当逻辑操作结果变化时,产生RLO边沿。检测正边沿FP——RLO从“0"变化到“1",“FP"检查指令产生一个“扫描周期"的信号“1";检测负边沿FN,则RLO从“1"变化到“0",“FN"检查指令产生一个“扫描周期"的信号“1"。上述两个结果保存在“FP(FN)"位存储器中或数据位中,如M1.0…,可以输出在其他线圈。
信号-边沿检测:同上面的RLO指令类似,当信号变化时,产生信号边沿,也有正/负边沿之分:POS/NEG。
上述各种指令,**请结合实际软件,掌握其方法、特性和不同之处,其他复杂指令请参考各种**编程手册。