西门子PLC模块6ES7518-4AP00-0AB0
编程功能
离线编程方式:可编程逻辑控制器和编程器公用一个CPU,编程器在编程模式时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行模式,CPU对现场设备进行控制,不能进行编程。离线编程方式可降低系统成本,但使用和调试不方便。在线编程方式:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种方式成本较高,但系统调试和操作方便,在大中型可编程逻辑控制器中常采用。
五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守其标准(IEC6113123),同时,还应支持多种语言编程形式,如C,Basic等,以满足特殊控制场合的控制要求。
5、诊断功能
可编程逻辑控制器的诊断功能包括硬件和软件的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,软件诊断分内诊断和外诊断。通过软件对PLC内部的性能和功能进行诊断是内诊断,通过软件对可编程逻辑控制器的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断。
可编程逻辑控制器的诊断功能的强弱,直接影响对操作和维护人员技术能力的要求,并影响平均维修时间
STEP 7 项目(包括注释和符号、附加文件或 csv 文件(用于配方和归档))也可存储在 SIMATIC 存储。可通过用户程序和 SIMATIC 存储的函数来创建数据块,并存储或读取数据。CPU 315-2 PN/DP,用于具有中/大规模的程序量以及使用PROFIBUS DP和PROFINET IO进行分布式组态的工厂,在PROFInet上实现基于组件的自动化中实现分布式智能安装、编程和操作极为简便嵌入式产品包 由PLC构成的控制也是由输入、输出和控制三部分组成。
CPU 1518-4 PN/DP,4 MB 程序,20 MB 数据;1 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1x 1000M以太网,X4: 1x DP接
SIMATIC S7-1500 是对 SIMATIC S7-300 和 S7-400 进行进一步开发的自动化系统。
通过集成大量的新性能特性,S7-1500 自动化系统具有的用户可操作性和极高的性能。
新性能特性包括:
提高了系统性能
集成了运动控制功能
PROFINET IO IRT
集成了面向机器的操作和诊断指示灯
通过保留一些成熟可靠的功能,实现 STEP 7 语言的创新
现场应用
S7-1500 自动化系统在机器和工厂设计中为高带宽控制器应用提供了所需的灵活性和高性能。 可扩展组态允许您根据当地的具体需求,采用控制系统。
S7-1500 自动化系统的防护等级为 IP20,适合安装在控制柜中。
S7-1500 自动化系统将安装在安装导轨上,***多可以包含 32 个模块。 这些模块将通过 U 型连接器进行互相连接
4、编程功能
离线编程方式:可编程逻辑控制器和编程器公用一个CPU,编程器在编程模式时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行模式,CPU对现场设备进行控制,不能进行编程。离线编程方式可降低系统成本,但使用和调试不方便。在线编程方式:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种方式成本较高,但系统调试和操作方便,在大中型可编程逻辑控制器中常采用。
五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守其标准(IEC6113123),同时,还应支持多种语言编程形式,如C,Basic等,以满足特殊控制场合的控制要求。
5、诊断功能
可编程逻辑控制器的诊断功能包括硬件和软件的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,软件诊断分内诊断和外诊断。通过软件对PLC内部的性能和功能进行诊断是内诊断,通过软件对可编程逻辑控制器的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断。
可编程逻辑控制器的诊断功能的强弱,直接影响对操作和维护人员技术能力的要求,并影响平均维修时间。
可通过通信模块与外部通信伙伴连接以交换数据。由于有大量参数设置选项,可以针对通信伙伴灵活调整控制。
Modbus RTU 主站可为多 30 个 Modbus 从站创建一个 Modbus RTU 网络。
可为您提供下列通讯模板:CM PtP RS232 BA;
带有 RS232 接口的通信模块,适用于协议 Freeport、3964(R) 和 USS;9 针 Sub D 连接器, 19.2 Kbit/s,1 KB 帧长度,2 KB 接收缓冲区CM PtP RS232 HF;
带有 RS232 接口的通信模块,适用于协议 Freeport、3964(R) 和 Modbus RTU;9 针 Sub D 连接器, 115.2 Kbit/s,4 KB 帧长度,8 KB 接收缓冲区CM PtP RS422/485 BA;
带有 RS422 和 RS485 接口的通信模块,适用于协议 Freeport、3964(R) 和 USS;15 针 Sub D 插座, 19.2 Kbit/s,1 KB 帧长度,2 KB 接收缓冲区CM PtP RS422/485 HF;
带有 RS422 和 RS485 接口的通信模块,适用于协议 Freeport、3964(R)、USS 和 Modbus RTU;15 针 Sub D 插座, 115.2 Kbit/s,4 KB 帧长度,8 KB 接收缓冲区 设计用一个螺丝安装在 S7-1500 安装导轨上独特的 Sub D 连接器,无法互换带有可扩充电缆室的前盖含在供货范围之内:一个 U 型连接器前门 功能统一的显示和诊断方式: 故障(红色 LED)和运行(绿色 LED)模块状态显示发送和接收通信显示支持的协议: Freeport:适用于通用通信的用户可设置报文格式3964(R) 可提高传输可靠性Modbus RTU 主站Modbus RTU 从站USS,通过指令实现接口性质: RS 232 带辅助信号RS 422 用于全双工连接RS 485 用于半双工和多点连接传输速率为 300 - 115200 bit/s通过 Sub D 连接器进行连接SIMATIC ET 200MP 的统一系统功能: 识别和维护数据 IM0固件更新模块正面的清晰标签
西门子PLC模块6ES7518-4AP00-0AB0
编写SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#74 //读取全部指示灯状态
INDEX :=W#16#0
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块中
DB1存放的结果即为模块的指示灯状态,每个指示灯有4个字节的长度来描述。
前两个字节表示灯的类型(见表二),表示是SF灯还是BF灯等等。
第三个字节表示灯是亮还是灭,如果为1则灯亮,如果为0则灯的状态是灭。
第四个字节表示灯是否闪烁,0表示不闪,1表示正常闪烁(2hz),2,表示慢闪(0.5hz)
灯的类型列表如下(不同的CPU会有不同数目的指示灯):
表2 前两个字节的含义
16#1 | SF |
16#2 | INTF |
16#3 | EXTF |
16#4 | RUN |
16#5 | STOP |
16#6 | FORCE |
16#7 | CRST |
16#8 | BAF |
16#9 | USR |
16#A | USR1 |
16#B | BUS1F |
16#C | BUS2F |
16#D | REDF |
16#E | MSTR |
注意事项:
关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > documentATION选择手册“System Software for S7-300/400 System and Standard Functions”
3 读取Profibus DP从站 状态
3.1 编程
首先需要创建一个数据块,用来存放读取出来的状态结果
图4 创建DB1,存放读取结果
打开OB1,首先在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)
图5 创建名为length的结构变量
双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:
图6 创建length的结构变量的两个word成员
编写SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#294 //读取从站是否存在
INDEX :=W#16#1
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块中
在本例中,P#DB1.DBX0.0 BYTE 500中为每个DP从站(16 x 8 = 128)保留一位,地址为Address 1的DP从站的状态保存在第三个字节的Bit 1位中, 地址为Address 3的DP从站的状态保存在第三个字节的Bit 3位中,依次类推。如果从站对应的位未被置位,则表明那个DP从站没有通信上或不存在。
举例:从DB1.DBW2开始,每个位对应一个bit,例如3号站对应的位是DB1.DBX2.3 ,站点存在的位为1,不存在的为0