- 发布
- 浔之漫智控技术(上海)有限公司
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 电话
- 15821971992
- 手机
- 15821971992
- 发布时间
- 2023-07-19 17:06:40
好的编程规范就是对一些通用的控制对象编写标准控制块,对数据处理、传递、逻辑控制实现封装,以实现代码的可重用和简化编程的目的,关于这方面的讨论,我在工控网上发表的《PLC的面向对象编程》中有介绍。
西门子的SCL语言是符合的一种PLC编程语言,其的程序结构体系和运算编程适合于标准库的开发,我在工控网上发表的《在S7300/400型PLC中使用语言编程》中有关于这方面的介绍。
1、硬件电路设计
本文用到的变频器为ABB的ACS800系列变频器,使用其一般的功能,电路设计类似于下图:
本设计将主接触器放在变频器之前,启动电机时先打开主接触器,然后启动变频器驱动电机,关断电机时,先控制变频器关闭,延时后主接触器关闭,在电机不运行的情况下,可节约电源,该设计可用于风机之类的控制,即不需要频繁的起停,值得说明的是由于ABB的总线通讯模块由变频器自身提供电源,当变频器断电后,可能导致总线故障,所以上面的设计对西门子的MM440没问题,但对ABB的变频器并不一定适合,所以另外一种设计方式就是将主接触器放在变频器的下方,该接触器一般由急停开关控制。
本程序将以种方式的设计为依据(该程序来自MM440控制程序的转换)
2、变频器的一般参数
99.01:选择语言
99.02:选择应用宏程序,不同的应用宏会预先定义不同的连接端子功能,而这些端子又随后可以被不同功能的参数定义,当多个参数使用同一个端子时,在这个端子信号被激活后,这多个参数功能均会被激活。
99.04:选择电机控制模式DTC/SCALAR,当电机的额定电流小于变频器的额定电流的1/6时,可以使用SCALAR模式。
99.05:电机的额定电压
99.06:电机的额定电流
99.07:电机的额定频率
99.08:电机的额定转速
99.09:电机的额定功率
20.01:设置小转速
20.02:设置大转速
22.02:设置加速度时间1
22.03:设置减速度时间1
10.01/10.02:设定为COMM.CW,由外部EXT1/EXT2来控制电机电机启停(包括总线控制)
10.03:若希望改变电机的运转方向,可以将该参数设置为”REQUEST”
若该变频器的硬件设计为,主接触器位于变频器和电机之间(该设计主要用于急停控制主接触器),则主接触器的辅助常开触点可接到端子X22/5和X22/8上,用于控制变频器运行使能,可通过参数16.01来选择端子DI5(X22/5);若热敏电阻接到X22/6和X22/7上,可定义参数30.05选择”THERMISTOR”,同时必须定义参数30.04来启用热敏保护。X25(1/2/3)为继电器1输出,通过参数14.01定义其功能。
3、变频器的总线参数
P98.02:fieldbus
P98.07:ABB Drives,and need to modify in step 7 hardware config
P51.01:check the module type:Profibus DP
P51.02:node address,when the frequency hardware switch is zero,the bbbbbeter indicate the address from config.
P51.03:Baud rate,consist to the setting of PLC
P51.04:PPO type,consist to the setting of PLC
-----reference value--------------
REF1:-20000(Dec)=-[P11.05],20000(Dec)=[P11.05]; -1:-[P11.04],0:[P11.04]
P20.01/P20.02 FOR SPEED LIMIT;P20.07/P20.08:FREQUENCY LIMIT (THESE bbbbbETERS WILL EFFECT THE '' Set)
P22.07 FOR 'OFF3' TYPE STOP TIME(stop according to fastest possible deceleration mode)
P11.03/P11.06 FOR EXE REF1/REF2 SELECT,设定为COMM.REFx(表示由现场总线给定速度值)
4、关于程序块
本程序编写了四个内部速度设定点和一个外部速度设定点,手动/自动,以及报警全集成。
重要的参数介绍:
Enbl:设备使能,该参数用于连接安全条件,譬如急停信号
EnFV:使故障传递至人机界面容许,这是因为可视化是提供给用户详细信息的平台,在可视化界面上显示的信息一定要正确,但实际上某些故障会导致一系列其他类型的故障产生,为了只显示那些引起初故障的根源,需要对传递至可视化的故障进行控制。常见的就是电源故障,该故障会导致一系列其他的故障,故可以用电源检测条件来控制可视化故障。
报警分为故障和警告,故障会导致停机,而警告则不会,在本程序中使用了大量的结构,这些结构将不同类型的变量加以区分(甚至于将可视化与非可视化故障加以区分),便于用户诊断和维护程序。这种程序看起来相当复杂,但监控起来相当方便,若开发出与之对应的人机界面控件,甚至于可以使人机界面的组态高度自动化。
Aon/Aoff ; Mon/Moff :自动开/自动关,手动开/手动关,有些编程规范把手动/自动合在一起编写,这是因为他们有着一些共同的安全条件检测,本块已经把各种报警条件,安全条件作为单独的输入,这些输入都会导致电机的停转(而不管块是在手动,还是自动模式下),所以在使用本块时,对于Aon/Aoff ; Mon/Moff输入参数,只需要编写逻辑起停条件,而不需要再次串入安全条件。
本程序用到了一个全局变量:"IP_1Sec",其为间隔一秒的脉冲,用于计时,所以当想使用本块时,必须先编写间隔一秒的脉冲"IP_1Sec"
西门子plc编程软件中...MOV_W、MOV_B、SHR_B都是什么意思,其管脚都是什么作用? 移动字节(MOVE)指令将输入字节(IN)移至输出字节(OUT),不改变原来的数值。 PLC采用逐行梯级扫描式,每一个周期接受一个输入信号. |
在子程序完成执行后,控制返回至「调用子程序」之后的指令。每个子 程序调用的输入/输出参数大限制为 16。如果下载的程序超过此限制,则 会返回错误信息。用户可以为子程序指定一个符号名,例如 USR NAME,该 符号名会出现在指令树的「子程序」文件夹中。 将参数值指定给子程序中的局部内存时应遵循以下几点: (1)参数值指定给局部内存的顺序由 CALL 指定,参数从 Lx.0 开始。 (2)1~8 个连续位参数值被指定给从 Lx.0 开始持续至 Lx.7 的单字 节。 (3)字节、字和双字数值被指定给局部内存,位于字节边界(LBx、LWx 或 LDx)位置。 (4)在带参数的「调用子程序」指令中,参数必须与子程序局部变量表 中定义的变量完全匹配。 (5)参数顺序必须以输入参数开始,其次是输入/输出参数,然后是输 出参数。 2. CALL 调用示例 需要注意的是,在西门子 S7-200 程序中,不使用 RET 指令终止子程 序,也不得在子程序中使用 END(结束)指令。 如图 4.13 所示为子程序的调用说明,其中箭头所指语句不用编程,由 STEP 7-Micro/WIN 自动处理。