9
在S7-1500 PLC巾,程序中的块主要包括组织块OB、函数FC、函数块FB和数据块DB。数据块DB是用来存储用户数据,而OB、FC和FB则是用来存储用户程序代码的,也称代码块。组织块OB是用户和PLC之间的程序接口,由PLC来调用,而函数FC和函数块FB则可以作为子程序由用户来调用。FC或FB被调用时,可以与调用块之间没有参数传递,实现模块化编程,也可以存在参数传递,实现参数化编程(也称结构化编程)。
根据变量在程序中的使用范围,可将变量分为全局变量和局部变量。全局变量可以被所有代码块访问,而局部变量则只能被某个块访问,无法被所有块访问。
循环左移”指令( ROL)将输入IN中操作数的内容按位向左循环移位,用左侧挤出的位填充右侧因循环移位空出的位,其中输入参数N用于*将IN操作数循环移位的位数,移位结果存储在输出OUT中。当输入N的值为“0”时,则输入IN的值将复制到输出OUT的操作数中;如果参数N的值大于可用位数,则输入IN中的操作数值仍会循环移动*位数个位。图5-140说明了如何将DWord数据类型操作数的内容向左循环移动3位。
“循环左移”指令( ROL)将输入IN中操作数的内容按位向左循环移位,用左侧挤出的位填充右侧因循环移位空出的位,其中输入参数N用于*将IN操作数循环移位的位数,移位结果存储在输出OUT中。当输入N的值为“0”时,则输入IN的值将复制到输出OUT的操作数中;如果参数N的值大于可用位数,则输入IN中的操作数值仍会循环移动*位数个位。图5-140说明了如何将DWord数据类型操作数的内容向左循环移动3位。
“左移”指令( SHL)将输入IN中操作数的内容按位向左移位,用零填充操作数右侧部分因移位空出的位,输人参数N用于*将IN中操作数移位的位数,移位后的结果存储并在输出OUT中。当输入N的值为“0”时,则输入IN的值将按原样复制到输出OUT的操作数中;如果输入N的值大于可用位数,则输入IN中的操作数值将向左移动可用位数个位。图5-138展示将Word数据类型操作数的内容向左移动6位的过程。
模拟量输出(AO)模块SM332用于将CPU送给它的数字信号转换为成比例的电流信号或电压信号,对执行机构进行调节或控制,其主要组成部分是D/A转换器,可以用传送指令“T PQW...”向模拟量输出模块写入要转换的数值。
SM332有多种不同型号,如4AOx12位模块、2AOx12位模块和4AOx16位模块,分别为4通道的12位模拟量输出模块、2通道的12位模拟量输出模块、4通道的16位模拟量输出模块。
模拟量输出模块未通电时输出一个0mA或0V的信号。处于RUN模式、模块有DC24V电源,且在参数设置之前,将输出**数值。进入S**模式、模块有DC24V电源时,可以选择不输出电流电压、保持最后的输出值或采用替代值。在上、下溢出时,模块的输出值均为0mA或0V。
AO模块的转换时间包括内部存储器传送数字化输出值的时间和D/A转换的时间,模拟量输出各通道的转换是按顺序进行的。
AO模块的循环时间是所有被激活模拟量输出通道的转换时间的总和。应关闭未使用的模拟量通道,以减小循环时间。
AO模块的响应时间是一个比较重要的指标,响应时间就是在内部存储器中出现数字量输出值开始到模拟输出达到规定值所用时间的总和。它和负载特性有关,负载不同(容性、阻性和感性负载),响应时间也不一样。
模拟量输出模块SM332的额定负载电压均为DC24V;模块与背板总线和负载电压均有光电隔离,使用屏蔽电缆时较远距离为200m;都有短路保护,短路电流较大25mA,较大开路电压18V;每个通道都可单独编程为电压输出或电流输出,输出精度为12位。
使用STEP 7组态工具或SFC系统功能调用,可以设定诊断中断允许、输出诊断、输出类型、输出范围及L+掉电或模块故障后的替代值等参数。输出模块的一个通道组即一个通道,如果模块中的一个通道不使用,则可以通过设定输出类型撤除该通道,并让输出保持开路。
在模拟量模块具有诊断能力和赋有适当参数的情况下,故障和错误产生诊断中断,板上的SF LED灯闪烁。SM332能对电流输出做断线检测,对电压输出做短路检测。表2-10为SM332的技术特性。
表2-10 SM332模拟量输出模块的技术特性
模拟量输入(AI)模块SM331目前有多种规格型号,如8AIx12位模块、2AIx12位模块和8AIx16位模块,分别为8通道的12位模拟量输入模块、2通道的12位模拟量输入模块、8通道的16位模拟量输入模块。它们除了通道数和转换精度不一样外,其工作原理、性能、参数设置等各方面都一样。
SM331模块中的各个通道可以分别使用电流输入或电压输入,并选用不同的量程(量程的设置可通过量程卡来设置;没有量程卡的模块,通过不同的端子接线方式设置),有多种分辨率可供选择(9~15位+符号位,与模块有关),分辨率不同转换时间也不同。模拟量转换是顺序执行的,每个模拟量通道的输入信号是被依次轮流转换的。
SM331模块的结构原理如图2-15所示。SM331模块主要由A/D转换器、多路开关、补偿电路、内部电源、光电隔离部件和逻辑电路等组成。其8个模拟量输入通道共用一个A/D转换器,通过多路开关切换被转换的通道,模拟量输入模块各输入通道的A/D转换和转换结果的存储与传送是顺序进行的。各个通道的转换结果被保存到各自的存储器,直到被下一次的转换值覆盖。可以用装入指令“L PIW--”来访问转换的结果。
图2-15 SM331模块的结构原理
通道的转换时间由基本转换时间和模块的电阻测试和断线监控时间组成,基本转换时间取决于模拟量输入模块的转换方法(如积分法和瞬时值转换法)。对于积分转换法,积分时间直接影响转换时间,积分时间可在STEP7中设置。
某一通道从开始转换模拟量输入值起,一直持续到再次开始转换的时间称为AI模块的循环时间,它是模块中所有被激活的模拟量输入通道的转换时间的总和。实际上,循环时间是对外部模拟量信号的采样间隔。为了缩短循环时间,应该使用STEP 7组态工具屏蔽掉不用的模拟量通道,同时应在硬件上将未用通道的输入端短路,从而使其不占用循环时间。
SM331的每两个输入通道构成一个输入通道组,可以按通道组任意选择测量方法和测量范围。模块上需接DC24V的负载电压L+,有反接性保护功能;对于变送器或热电偶的输入具有短路保护功能。模块与S7-300 CPU及负载电压之间是光电隔离的。表2-9为SM331模拟量输入模块的技术特性。
表2-9 SM331模拟量输入模块的技术特性