遂宁西门子PLC模块经销总代理商遂宁西门子PLC代理,遂宁西门子S7-1500代理,西门子PLC代理
西门子S7-200的子程序编写与调试指令
西门子S7-200CPU的控制程序由主程序、子程序和中断程序组成。STEP 7-Mico/WIN32在程序编辑器窗口里为每个POU(程序组织单元)提供一个独立的页,主程序总是第1页,后面是子程序或中断程序。
因为各个程序在编辑都窗口里被分开,编译时在程序结束的地方自动加人无条件结束指令END、MEND.RET或RETI,如果在程序里加了这些指令,编译时反而会出错。
西门子S7-300/400的数据形式转换指令I DI、DI R用于16位整数与32位整数、32位整数与浮点数之间的转换;ROUND和TRUNC的作用与意义与S7-200相同,用于对浮点数的小数部位处理;CEIL、FLOOR是当浮点与整数相差很大时的两种不同处理方式。
I_DI指令可以将16位整数转换为32位整数,其实质只是将符号位从原16位整数的bit15移到32位整数的bit31上,其余数据不变或增补0而已。
ROUND指令是将浮点数的小数部分四舍五人转换成双整数;TRUNC指令是将浮点数的小数部分舍去转换成双整数。
由于浮点数的数据表示范围要远远大于双字长整数。当浮点数的值大于整数时,通过CEIL指令,可以将浮点数转换为大于等于该浮点数的*小整数;通过FLOOR指令,可以将浮点数转换为小于等于该浮点数的*大整数。
子程序的作用
遂宁西门子PLC模块经销总代理商遂宁西门子PLC代理,遂宁西门子S7-1500代理,西门子PLC代理
子程序常用于需要主次反分执行相同任务的地方,只需要写次子程序,别的称序在占要子程序的时候调用它,而无需重写该程序:子在序的词用是有条件的,未调用它时不会执行了的程序中的指令,因此使用子程序可以减少扫描时间。
无连接协议传输的信息单元相当于电报报文,它们通常是一种独立完整的消息,有时也被称为数据报文。
2. 动态连接和静态连接
连接分为不需要组态的动态连接和需要组态的静态连接。
(1)不需要组态的动态连接
2.局部变量
双击生成的FB1,打开程序编辑器。将鼠标的光标放在右边的程序区*上面的分隔条上(见图4-13),按住鼠标的左键,往下拉动分隔条,分隔条上面是功能块的变量声明表,下面是程序区,左边是指令列表和库。将水平分隔条拉至程序编辑器视窗的顶部,不再显示变量声明表,但是它仍然存在。
变量声明表中声明块专用的局部变量,局部变量只能在它所在的块中使用。
变量声明表的左边窗口给出了该表的总体结构,选中某一变量类型,例如“IN”,在表的右边显示的是输入参数Start等的详细情况。
功能块
由图4-13可知,功能块有5种局部变量
1)IN∶输入参数,用于将数据从调用块传送到被调用块。
2)OUT输出参数,用于将块的执行结果从被调用块返回给调用它的块。
PG(编程器)通信和S7基本通信不需要对连接组态,这种连接也称为动态连接,S7基本通信将在14.3节介绍。
(2)需要组态的静态连接
S7连接属于需要组态的连接,这类连接用STEP7集成的网络组态工具NetPro组态。组态的连接一经建立会一直保持,可以实现快速的通信,称为静态连接。与同一个通信伙伴可以建立多个连接,CPU和CP同时可以使用的连接的数量受到与其型号有关的连接资源的限制。
在组态连接时,应指定通信伙伴和连接类型,以及连接的特殊属性。组态时将为每个连接自动分配一个唯一的“本地标识符”(本地ID)。在调用通信块时,需要使用本地标识符。
【例3-3】 对于上例同样的配置与安装,当采用自动分配型地址时,其输入/输出地址的分配如下。
第1输入模块:地址10.0~13.7,无空余地址;
第2输入模块:地址14.0~15.7,I6.0~I7.7为空余地址;第1输出模块:地址Q0.0~Q1.7,Q2.0~Q3.7为空余地址;第2输出模块:地址Q4.0~Q5.7,Q6.0~Q7.7为空余地址;第3输出模块:地址Q8.0~Q9.7,Q10.0~Q11.7为空余地址。
对于S7-300 PLC的CPU新产品(如CPU315-2DP、CPU317等),可以采用用户定义型地址分配方式。在这种情况下,只要地址不重复,每一安装模块的地址均可以由用户定义,因此,一般不存在多余的地址。
遂宁西门子PLC模块经销总代理商遂宁西门子PLC代理,遂宁西门子S7-1500代理,西门子PLC代理