西门子PLC中SFB和SFC的作用-NEG_I指令功能和应用实例
时间:2016-01-14 21:55 来源:未知 作者:admin 点击:次
系统功能SFC和系统功能块SFB是为用户提供的已经编好程序的块,它们已经固化在S7的CPU中,可以在用户程序中直接调用这些块,但不能在STEP7中查看和修改它们,也不能在线删除它们。它们作为操作系统的一部分,这些块不占用存储空间。你在线删除程序时,STEP7 会自动提醒你不能删除SFC和SFB,不用管它,只要删除了用户程序块就可以了。
对于新型S7-300plc而言,内部没有装载存储器,任何程序的下载都存储到MMC卡中,所以MMC卡也存储了CPU固化的SFB和SFC块,你只能删除用户程序块(包括逻辑块(OB、FB、FC)和数据块DB(包括共享数据块DB和FB编译时自动产生的背景数据块DI)。
西门子PLC的NEG_I指令功能和应用实例
plc的NEG_I指令符号
表1为NEG_I转换指令说明表。
表1 NEG_I转换指令说明表
NEG_I(求整型数输入的负值)指令,读输入参数IN的内容,然后,实现求“2”的补码指令。求“2”的补码指令等效于乘(-1),即改变“正/负”符号(例如:从一个正值变成负值)。ENO总是与EN有相同的信号状态,只有以下情况是例外:如果EN的信号状态=“1”,而指令执行时出现溢出,这时ENO的信号状态=“0”。
表2为NEG_I转换指令对状态位的影响。
表2 NEG_I转换指令对状态位的影响
如图2所示,如果输入I0.0的信号状态为“1”,然后,MW8的值以相反的符号,由输出参数OUT输出到MW10。
例如:MW8=+10,执行指令后,MW10=-10。如果转换指令没有执行(即ENO=EN =0),则输出Q4.0置成“1”。如果信号状态EN =1以及出现溢出,则ENO的信号状态置成“0”。
图2 NEG_I转换指令应用举例 (责任编辑:admin) |