西门子上海变频器经销商
的符号位(第31位)取反,运算结果仍在累加器1中。下面的例子将MD20中的双整数求补后传送到MD30度比浮点数的高,指令将转换结果四舍五入。
②浮点数转换为整数 RND(Round)指令将累加器1中的IEEE浮点数转换为32位双整数,结果仍在累加器1中,小数部分被舍去,得到的是*接近的整数(即四舍五入)。如果转换结果刚好在两个相邻的整数之间,则选择偶数为转换结果。
“RND+”指令将累加器1中的浮点数转换为大于等于该浮点数的*小双整数,结果仍在累加器1中。“RND-”指令将累加器1中的浮点数转换为小于等于该浮点数的*大双整数,结果仍在累加器1中。TB指令将累加器1低字中的16位整数转换为加3位BCD码,结果仍在累加器1的低字中,累加器1的高字不变。DTB指令将累加器1中的32位双整数转换为7位BCD码,结果仍在累加器1中。
16位整数的表示范围为-32768~+32768,而3位BCD码的表示范围为-999~+999。如果被转换的整数超出BCD码的允许范围,在累加器1的低字中得不到有效的转换结果,状态字中的溢出位(OV)和溢出保持位(OS)将被置1。
在程序中,应根据状态位OV或OS判断转换后累加器1低字中的结果是否有效,以免造成的运算错误。在执行DTB指令时,也有类似问题需要注意。式的定时器当前值,BCD输出端输出BCD码格式的当前时间值和时基。梯形图中的传送指令 在梯形图中,用指令框(BOX)表示某些指令。指令框的输入端均在左边,输出端均在右边。梯形图中有一条提供“能流”的左侧垂直“电源”线,图2-50中I0.1的常开触点接通时,能流流到左边指令框的使能输入端EN(
西门子上海变频器经销商
执行时无错误,则ENO(EnableOutput,使能输出)将能流传递给下一元件。如果执行过程中有错误,能流在出现错误的指令框终止。
定时器中的S、R、Q为BOOL(位)变量,BI和BCD为WORD(字)变量,TV为S5TIME示。每一个S5定时器都有功能相同的用线圈形式表示的定时器。
S7CPU为定时器保留了一片存储区域。每个定时器有一个16位的字和一个二进制位,定时器的字用来存放它当前的定时时间值,定时时基 定时器字的第12位和第13位用于时基(时间基准),时基代码为二进制数00、01、10和11时,对应的时基分别为10ms、100ms、1s和10s。实际的定时时间等于时间值乘以时基值。例如定时器字为W#16#3999时,时基为10s,定时时间为9990s。时基反映了定时器的分辨率,时基越小分辨率越高,可定时的时间越短,时基越大分辨率越低,可定时的时间越长。
(4)接通延时定时器的定时过程 接通延时定时器的线圈通电,定时器被启动,操作系统自动地将累加器低字的内容(定时时间预置值)装入定时器。如果用语句表编程,在定时器启动之前建议用下面两条指令中的一条将定时器的预置值装入累加器:器触点的状态由它的位的状态来决定。用定时器地址(T和定时器号,例如T6)来存取它的时间值和定时器位,带位操作数的指令存取定时器位,带字操作数的指令存取定时器的时间值,不同的CPU支持32~512个定时器。
(2)定时器字的表示方法 用户使用的定时器字由3位BCD
西门子上海变频器经销商
内部,时址位为1状态时,该触点闭合。
在语句表中,用AN(AND NOT,与非)来表示串联的常闭触点,用ON(ORNOT,或非)来表示并联的常闭触点,触点符号中间的“/”表示常闭,常闭触点对应的地址位为0状态时该触点闭合。
输出指令“=”将RLO写入地址位、输出指令与线圈相对应。驱动线圈的电路接通时,有“能流”流过线圈,RLO=1,对应的地址位为1状态,则RLO=0,对应的地址位为0状态。线圈应放在梯形图的*右边。下面是图2-12对应的语句表,其中的L20.0是用来保存运算结果的局域变量,局域变量只能在程序所在的逻辑块中使用。将梯形图转换为语句表时,局域变量L20.0是自动分配的指针可以是字或双字,定时器(T)、计数器(C)、数据块(DB)、功能块(FB)和功能(FC)编号范围小于65535,使用字指针就够了。
其他地址则要使用双字指针,如果要用双字格式的指针访问一个字、字节或双字存储器,必须保证指针的位编号为0,例如P#Q20.0。双字指针区域1。
在用户编写的FB和FC程序中,必须对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令可将RLO存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,使RLO为1,并存入BR;否则在BR中存入0。状态字的9~15位未使用。
(3)数据块寄存器 DB和DI寄存器分别用来保存打
统诊断事件和用户定义的诊断事件的信息。这些信息按它们出现的顺序排列,第一行中是*新的事件。
诊断事件包括模块的故障、写处理的错误、CPU中的系统错误、CPU的运行模式切换错误、用户程序中的错误和用户用系统功能SFC52定义的诊断错误。称为或位(OR),在先逻辑“与”后逻辑“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其他指令将OR位复位。
⑤溢出位(OV) 状态字的第4位称为溢出位,如果算术运算或浮点数比较指令执行时出现错误(例如溢出、非法操作和不规范的格式),溢出位被置1。如果后面的同类指令执行结果正常,该位被清0。
⑥溢出状态保持位(OS) 状态字的第5位称为溢出状态保持位,或称为存储溢出位。OV位被置1时OS位也被置1,OV位被清0时OS仍保持,它保存了OV位,用于指明前面的指令执行过程中是否发生过错误。只有JOS(OS=1时跳转)指令、块调用指令和块结束指令才能复位OS位。
⑦条件码1(CC1)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0。这两位综合起来用于表示在累加器1中产生的算术运算或逻辑运算的结果与0的大小关系数当前值(0~999)