西门子300PLC基础课程第四讲S7-300/400系列PLC指令系统一,S7-300/400编程语言二,S7-300/400的存储区三,S7-300/400的指令系统大家好!我来自济南泉瑞自动化工程有限公司,我姓陈。很荣幸能给各位讲解S7-300课程。《勤》不要学花儿只把春天等待,要学燕子把春天衔来。祝愿大家在自控的道路上远走越远,找到自己的那片湛蓝天空。实现工控梦!!S7-300/400编程语言1,梯形图梯形图(LAD)是使用最多的PLC编程语言。梯形图与继电器电路相似,具有直观易懂的优点,很容易被熟悉继电器控制的人所掌握。梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件(例如:外部的开关、按钮和内部条件等。);线圈通常代表逻辑运算的结果,常用来控制外部负载,和内部标志位等;指令框用来表示定时器、计数器、数学运算等指令。分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左右两侧垂直“电源线”之间有一个左正右负的直流电源电压,当网络中的触点同时接通,有一个假想的“能流”流过线圈。能流只能从左至右流通。如图细解:能流细解2,指令表S7系列将指令表称为语句表(STL),他是类似于微机的汇编语言的文本语言,多条语句组成一个程序段。语句表可以实现某些不能用梯形图和功能块图表示的功能。3,功能块图功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑。一些复杂的功能(如数学运算功能)用指令框来表示,有数字电路基础的人较好掌握。功能块图用类似于门、或门的方框来表示逻辑运算关系,方块的左侧为逻辑运算的输入变量,右侧为输出变量,输入输出端的小圆圈表示“非”运算,方框被导线连接在一起,信号自左向右流动。4,编程语言的相互转换与选用在STEP7中,如果程序块没有错误,并且被正确的划分为网络在梯形图、功能块图和语句表中可以转换。用语句表编写的程序不一定就能装换为梯形图,不能转换的网络仍然保留语句表形式。但是并不表示该网络有错误。问题,三种语言的优缺点?我们适合用什么语言?S7-300/400存储区数制1,二进制数二进制数的1位(bit)只取0和1两个不同的值,用来表示开关量(或称数字量)的两种不同状态。例如触电的断开和接通。二进制常数用2#表示,例如2#1111011010010001是16位二进制常数。2,十六进制数十六进制的16个数字是0~9和A~F(对应十进制的10~15)每个数字占二进制数的4位。十六进制的运算规则为逢十六进一,例如B#16#3C=3*16+12=60。B#16#、W#16#、DW#16#分别表示十六进制字节、字、和双字常数。在数字后面加H也表示是十六进制数。3,BCD码BCD码用4位二进制数表示一位十进制数,例如十进制9对应的二进制数为1001。BCD码最高4位二进制用来表示符号,BCD码实际上是十六进制数,但是各位之间的关系是逢十进一。十进制数可以很方便的转换为BCD码,例如十进制数296对应的BCD码为W#16#296,或者2#0000001010010110.二进制整数2#0000000100101000对应的十进制也是296,因为它的第三位、第五位、第八位都是1,对应的十进制数为2的8次方+2的5次方+2的3次方=296。数据类型1,位位(bit)数据类型为布尔(BOOL)型,在编程软件中BOOL的值为1和0。2,字节八位二进制数组成一个字节(BYTE),即8个位。3,字相邻两个字节组成一个字(WORD),即16个位。表示无符号数。4,双字两个字组成一个双字(DoubleWord),即32个位。表示无符号数。5,16位整数整数(INT)是有符号整数,其最高位为符号为,最高位为0时表示正数,为1时表示负数。取值范围-32768~32767.6,32位整数32位整数(DINT)的最高位为符号位,取值范围-2147483648~2147483647。7,32位浮点数浮点数又称实数(REAL),浮点数可表示为1.mx2的E次方。S7-300/400指令系统1,位逻辑指令指令小实例常开触点指令示例:常闭触点指令实例能流取反小实例输出线圈实例中间输出指令小实例复位线圈实例置位线圈小实例RS与SR双稳态触发器RS与SR双稳态触发器置位优先型RS双稳态触发器如果R端信号状态为1,S端信号状态为0,则复位RS,如果反过来,则置位RS。如果两端信号状态均为0,则不作为,如果两端信号状态都为1,则RS是先在指定地址复位,然后一直保持置位状态在以后的扫描过程中。复位优先型SR双稳态触发器如果R端信号状态为1,S端信号状态为0,则复位RS,如果反过来,则置位RS。如果两端信号状态均为0,则不作为,如果两端信号状态都为1,则RS是先在指定地址置位,然后一直保持复位状态在以后的扫描过程中。置位优先型RS双稳态触发器指令实例复位优先型SR双稳态触发器指令实例指令回顾下降沿检测实例上升沿检测实例NEG地址下降沿检测实例POS地址上升沿检测实例“XOR”异或指令小实例传送指令传送小实例定时器指令定时器指令一览表S_PULSE脉冲定时器如果输入端I0.0的信号状态从0变为1(RLO中的上升沿),则定时器T5将启动。只要I0.0为1,定时器就将继续运行指定的两秒(2s)时间。如果定时器达到预定时间前,I0.0的信号状态从1变为0,则定时器将停止。如果输入端I0.1的信号状态从0变为1,而只要定时器运行,输出端Q4.0就是逻辑1,如果定时器预设时间结束或复位,则输出端Q4.0变为0定时器仍在运行,则时间复位。S_PULSE脉冲定时器举例S_PULSE脉冲定时器S_PEXT扩展脉冲指令