西门子PLC模块盐城授权代理商SIEMENS原装 西门子PLC平凉授权代理商,平凉西门子PLC代理,西门子PLC代理
S7-200转换指令中的BCD_I、I_BCD、B_I、I_B、IDI、DI_I、DI_R、ROUND、TRUNC只是数据形式间的转换,梯形图编程相似,如将BCD数据(十进制数据)3456转换为整数(十六进制数据)的程序格式如图3-76所示。
数据形式转换的梯形图编程格式
指令编程时需要注意以下几点。
(3)强制I0.0常开触点断开(模拟I0.0端子外接启动开关断开)查看程序运行情况。选中10.0常开触点,再单击工具栏上的“取消强制”工具,如图3-23(e)所示I0.0常开触点中间的蓝色方块消失,表示I0.0常开触点已断开,但由于Q0.0常开自锁触点闭合,使Q0.0线圈、定时器T37、Q0.1线圈状态仍为ON。
(4)强制I0.1常闭触点断开(模拟I0.1端子外接停止开关闭合)查看程序运行情况。
在I0.1常闭触点的符号上右击,在弹出的快捷菜单中选择“强制”,会弹出“强制”对话框,将I0.1的值强制为“ON”,如图3-23(f)所示,这样I0.1常闭触点断开,触点中间的蓝色方块消失,Q0.0线圈和定时器T37状态马上变为OFF,定时器计时值变为0,由于T37常开触点状态为OFF而断开,Q0.1线圈状态也变为OFF,如图3-23(g)所示。
在监控程序运行时,若发现程序存在问题,可停止监控(单击“程序状态”工具),对程序进行修改,将修改后的程序下载到PLC,再进行程序监控运行,如此反复进行,直到程序运行符合要求为止。
西门子PLC模块盐城授权代理商SIEMENS原装 西门子PLC平凉授权代理商,平凉西门子PLC代理,西门子PLC代理
STEP7将模拟量输入模块的输出值转换为实际的物理量
a.模拟量输入转换后的模拟值表示方法。模拟量输入/输出模块中模拟量对应的数字称为模拟值,模拟值用16位二进制补码(整数)来表示。*高位(第15位)为符号位,正数的符号位为0,负数的符号位为1。
模拟量经过A/D转换后得到的数值的位数(包括符号位)如果小于16位(包括符号位),则转换值被自动左移,使其*高位(符号位)在16位的*高位,模拟量左移后未使用的低位则填人"0",这种处理方法称为"左对齐"。设模拟值的精度为12位加符号位,左移3位后未使用的低位(第0~2位)为0,相当于实际的模拟值被乘以了8。
这种处理方法的优点在于模拟量的量程与移位处理后的数字的关系是固定的,与左对齐之前的转换值无关,便于后续的处理。
表2-58给出模拟量输入模块的模拟值与以百分数表示的模拟量之间的关系,其中*重要的关系是双极性模拟量量程的上、下限(****和-****)分别对应于模拟值27648和-27648。单极性模拟量量程的上、下限(****和0%)分别对应于模拟值27648和0
a.数据范围。当数据形式进行转换时,无论是被转换数据还是转换结果,都不能超过指令格式规定的范围,具体如下:
字节数据的字长为二进制8位,数据范围为0~255;
西门子PLC模块盐城授权代理商SIEMENS原装 西门子PLC平凉授权代理商,平凉西门子PLC代理,西门子PLC代理
整数数据的字长为二进制16位(带符号),数据范围为-32768~32767;BCD数据的字长为二进制16位(带符号),数据范围为0000~9999;双整数的字长为二进制32位,数据范围为-2147483648~2147483647。例如:整数转换为字节的IB指令,整数取值范围不能超过255等。
b.符号位。当整数转换为双整数时,整数的*高位(bit15)符号位转换为双整数后被移到双整数的*高位(bit32),亦然。而字节数据、BCD数据均无符号位,不能使用带符号的数据。
PLC指令表及常用指令
用梯形图等图形编程直观、简便,但要求PLC配置LRT显示器方可能输入图形符号。在许多小型、微型PLC的编程器中没有LRT屏幕显示,或没有较大的液晶屏幕显示,就只能用一系列PLC操作命令组成的指令程序将梯形图控制逻辑描述出来,并通过编程器输入到PLC中去。
S7系列PLC将指令表(InstructionList,简称STL)称为语句表(Statement List)。PLC的指令表(语句表、指令字程序、助记符语言)是由若干条PLC指令组成的程序。PLC的指令类似于计算机汇编语言的形式,它是用指令的助记符来编程的。PLC的指令系统远比计算机汇编语言的指令系统简单得多。PLC一般有20多条基本逻辑指令,可以编制出能替代继电器控制系统的梯形图。指令表也是一种应用很广的编程语言。
c.小数的处理。整数、双整数为无小数点的数据,而浮点数可以带小数点。当浮点数转换为整数或双整数时,必须对小数后的数据进行必要的处理。使用指令ROUND,可以对小数位进行四舍五人处理;使用指令TRUNC,可以直接舍去小数位。
除了可以用梯形图监控调试程序外,还可以使用状态图表的表格来监控调试程序。
在项目指令树区域展开“状态图表”,双击其中的“图表1”,打开状态图表,如图3-24(a)所示。在图表1的“地址”栏输入梯形图中要监控调试的元件地址(I0.0、I0.1……),在“格式”栏选择各元件数据类型,I、Q元件都是位元件,只有1位状态位,定时器有状态位和计数值两种数据类型,状态位为1位,计数值为16位(1位符号位、15位数据位)。
为了更好地理解状态图表的监控调试,可以让梯形图和状态图表监控进行。先后单击“调试”菜单中的“程序状态”和“图表状态”,启动梯形图和状态图表监控,如图3-24(b)所示,梯形图中的I0.1和I0.2常闭触点中间出现蓝色方块,状态图表的“当前值”栏显示出梯形图元件的当前值。比如,I0.0的当前值为2#0(表示二进制数0,即状态值为OFF),T37的状态位值为2#0,计数值为0(表示十进制数0)。在状态图表I0.0的“新值”栏输入2#1,再单击状态图表工具栏上的“强制”,如图3-24(c)所前值不断增大,计到50时,T37的状态位值由2#0变为2#1),Q0.1线圈马上得电(Q0.0当前值由2#0变为2#1),如图3-24(d)所示。在状态图表T37计数值的“新值”栏输人10,再单击状态图表工具栏上的“写入”,如图3-24(e)所示,将新值10写入覆盖T37的当前计数值,T37从10开始计时,由于10小于设定计数值50,故T37状态位当前值由2#1变为2#0,T37常开触点又断开,Q0.1线圈失电,如图3-24(f)所示。
例如:执行ROUND指令后,数据123456.789将成为123457;执行ROUND指令后,数据123456.785讲成为123456。
相对来说,S7-300/400移位指令的功能没有S7-200强,它的特点如下。