《可编程控制器-指令系统.ppt》由会员分享,可在线阅读,更多相关《可编程控制器-指令系统.ppt(49页珍藏版)》请在三一办公上搜索。
1、可编程控制器,西门子S7-300/400PLC实践与应用,主要内容,二、位逻辑指令,三、定时器指令,四、计数器指令,五、其他常用指令,一、S7-300/400的存储区,一、S7-300/400的存储区,1、数制,(1)二进制数,二进制常数用2#表示,例如2#1111_0110_100l_000l是16位二进制常数,(2)十六进制数,十六进制的16个数字是09和AF(对应于十进制数1015),每个数字占二进制数的4位。B#16#、w#16#、DW#16#分别用来表示十六进制字节、字和双字常数,例如W#16#13AF。在数字后面加“H”也可以表示十六进制数,例如16#13AF可以表示为13AFH。
2、十六进制数的运算规则为逢16进l,例如B#16#3C=316+12=60。,(3)BCD码,BCD码用4位二进制数表示一位十进制数,例如十进制数9对应的二进制数为1001。4位二进制数共有16种组合,有6种(10101111)没有在BCD码中使用。,2、数据类型,(1)基本数据类型,位,字节,字,双字,16位整数,32位整数,32位浮点数,B#16#,W#16#,DW#16#分别用来表示十六进制字节、字和双字常数;2#用来表示二进制常数;L#为32位双整数常数;P#为地址指针常数;S5T#是16位S5时间常数,格式为S5T#aD_bH_cM_dS_eMS;T#为带符号的32位IEC时间常数;D
3、ATE是IEC日期常数;TOD#是32位实时时间(Time of day)常数,时间增量为1ms;C#为计数器常数(BCD码),数据格式(16 位),BCD,整数,BCD,负数,整数,正数,+296,-413,PG,CPU,数据格式(32 位),实数=+1,5*2 126-127=0,75,DW#16#296,L#+296,+0.75 或+7.5 E-1,BCD,DINT,REAL,(2)复合数据类型,通过组合基本数据类型和复合数据类型可以生成下面的数据类型:a.数组(ARRAY)将一组同一类型的数据组合在一起,形成一个单元。b.结构(STRUCT)将一组不同类型的数据组合在一起,形成一个单元
4、。c.字符串(STRING)是最多有254个字符(CHAR)的一维数组。d.日期和时间(DATE_ANl_TIME)用于存储年、月、日、时、分、秒、毫秒和星期,占用8个字节,用BCD格式保存。例如DT#2004-07-15-12:30:15.200为2004年7月15日12时30分15.2秒。e.用户定义的数据类型UDT(User-defined Data Types):由用户将基本数据类型和复合数据类型组合在一起,形成的新的数据类型。可以在数据块DB和变量声明表中定义 复合数据类型。,(3)参数类型,TIMER(定时器)和COUNTER(计数器):指定执行逻辑块时要使用 的定时器和计数器,对
5、应的实参(Actual Parameter,实际参数)应为定时器或计数器的编号,例如T3,C21。b.BLOCK(块):指定一个块用作输入和输出,参数声明决定了使用 的块的类型,例如FB、FC、DB等。块参数类型的实参应为同类型 的块的绝对地址编号(例如FB2)或符号名(例如“Motor”)。c.POINTER(指针):指针指向一个变量的地址,即用地址作为实参。例如P#M50.0是指向M50.0的双字地址指针。d.ANY:用于实参的数据类型未知或实参可以使用任意数据类型的 情况,占10B。,3.存储区类型,(1)装载存储器,(2)工作存储器,(3)系统存储器,(4)外设I/O存储区,注释,符号
6、,块:逻辑块(OB,FC,FB)数据块(DB),4.系统存储器,(1)过程映像输入/输出(I/Q)表,(2)内部存储器标志位(M)存储器区,(3)定时器(T)存储器区,(4)计数器(C)存储器区,(5)共享数据块(DB)与背景数据块(DI),(6)外设I/O区(PI/PO),二、位逻辑指令,二、位逻辑指令,常开和常闭触点,传感器和符号,过程,常开触点,传感器是.,基本逻辑指令:与,或,基本逻辑指令:异或(XOR),赋值,置位,复位,LAD,FBD,STL,触发器的置位/复位,连接器,主控继电器功能,无条件跳转(不依赖于 RLO),条件跳转(依赖于 RLO),RLO-边沿检测,例如,信号-边沿检
7、测,例如,I1.0,I1.1,M1.0,M8.0,M8.1,M1.1,三、定时器指令,1.定时器的种类,定时器相当于继电器电路中的时间继电器,S7 300/400的定时器分为脉冲定时器(SP)、扩展脉冲定时器(SE)、接通延时定时器(SD)、保持型接通延时定时器(SS)和断开延时定时器(SF)。,2.定时器字的表示方法,可以使用以下任意一种格式预先装载时间值:(1)十六进制数W#16#wxyz 其中,w=时间基准(即时间间隔或分辨率)其中,xyz=以二进制编码的十进制格式表示的时间值(2)S5T#aH_bM_cS_dMS 其中,H=小时,M=分钟,S=秒,MS=毫秒;,3.时基,定时器字的第1
8、2位和第13位用于时基(时间基准),时间基准定义将时间值递减一个单位所用的时间间隔。最小的时间基准是10毫秒;最大的时间基准是10秒。,定时器:接通延时(SD),例如,S处的RLO,R处的RLO,定时器操作,Q,时间值:0.999,定时器:带保持接通延时(SS),定时器:关断延时(SF),定时器:脉冲(SP),定时器:位指令,四、计数器指令,STEP 7中的S5计数器,计数器:位指令,计数器:功能图,CU,CD,R,Q,计数,5,4,3,2,1,0,五、其他常用指令,比较指令,转换指令 I-DI-REAL,任务,数字逻辑指令,LIW 0LW#16#5F2AAW/OW/XOWTMW10,0,15
9、,IW0=,W#16#5F2A=,WAND_W,WXOR_W,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,数字逻辑指令,LIW 0LW#16#5F2AAW/OW/XOWTMW10,0,15,IW0=,W#16#5F2A=,WAND_W,WXOR_W,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,移位指令(字/双字),或:,EN0=1,EN0=0,有符号整数右移位,或:,有符号整数右移:,EN0=0,EN0=1,双字循环移位指令,或:,向左循环移动 4位:,