全新的西门子S7-1500PLC 带来了标准型,紧凑型,分布式以及开放式不同类型的 CPU 模块。凭借快速的响应时间、集成的 CPU 显示面板以及相应的调试和诊断机制,SIMATIC S7-1500 的 CPU *地提升了生产效率,降低了生产成本。
产品简介
详细介绍
贵州西门子S7-1500代理商欢迎您(总代理)
PLC编程语言
PLC 常用的编程语言
注:对于数字量模块不一定要进行硬件组态,而对于模拟量模块一定要 进行硬件组态。
4.1 指令及其结构 指令是程序的小独立单位,用户程序是由若干条顺序排列的指令构成.
4.1.1 指令的组成
1.语句指令
语句指令用助记符表示 PLC 要完成的操作。
指令:操作码+操作数 操作码用来要执行的功能,告诉CPU该进行什么操作;操作 数内包含为执行该操作所必需的信息,告诉CPU用什么地方的数 据来执行此操作。
例如: 操作码 操作数
0 I0.0
O I0.1
= Q0.0
有些语句指令不带操作数,因为它们的操作对象是的。 例如:操作码 操作数
NOT SET
2.梯形图指令
梯形图指令用图形元素表示 PLC 要完成的操作。在梯形图指令中,其操作 码是用图素表示的,该图素形象表明 CPU 做什么,其操作数的表示方法与 语句指令相同。
例如:
梯形图指令也可不带操作数。 例如:
4.1.2 操作数
1.标识符及标识参数
M:位存储区 T:定时器 C:计数器 L:本地数据 DB:数据块
X:位 B:字节 W:字 D:双字
注意:①PLC 物理存储器是以字节为单位的。
②当操作数长度是字或双字时,标识符后给出的标识参数是字或双 字内的低字节单元号。
③当使用宽度是字或双字的地址时,应保证没有生成任何重叠的字 节分配,以免造成数据读写错误。
2.操作数的表示法
操作数的表示法
物理地址(地址)
符号地址(必须先定义后使用,而且符号名必须是 的)
关于定义符号地址的几点说明:
(一)当你在表中输入符号地址时,应注意以下几点:
列 | 注意 |
符号 | 在整个符号表中名字必须。当你确认该区域的输入 或退出该区域时,不的符号则被标定出来。符号名 长可达 24 个字符。引号(“”)不允许使用。 |
地址 | 当你确认该区域的输入或退出该区域时,程序会自动检 查该地址输入是否是允许的。 |
数据类型 | 当你确认或退出地址时,该区域被自动地赋予一个缺省 数据类型。如果你修改这个缺省类型,程序会检查你的 数据类型是否与地址相匹配。 |
注释 | 你可以输入注释简单地解释该符号的功能(多 80 个字 符)。 |
(二)你必须区分局域(块定义)符号和共享符号
共享符号 | 局域符号 | ||
有效性 | •在整个用户程序中有效 •可以被所有的块使用 •在所有的块中含义是一样的 •在整个用户程序中是的 | •只在定义的块有效 •相同的符号可在不同 的块中用于不同的目 的 | |
允许使用 的字符 | •字母、数字及特殊字符。 •除 0X00,0XFF 及引号以外的强 调号 •如使用特殊字符,则符号须写 出在引号内。 | •字母 •数字 •下划线(_)(注意: 不允许使用两个连续 的下划线) | |
使用 | 你可以为以下各项定义共享符 号: •I/O 信号(I,IB,IW,ID,Q, QB,QW,QD) •I/O 输入与输出(PI,PQ) •存储位(M,MB,MW,MD) •定时器(T)/计数器(C) •逻辑块(FB,FC,SFB,SFC) •数据块(DB) •用户定义数据类型(UDT) •变量表(VAT) | 你可以为以下各项定 义局域符号: •块参数(输入,输出 和输入输出参数) •块的静态数据 •块的临时数据 | |
在哪里定 义 | 符号表 | 块的变量声明表 |
(三)显示共享或局域符号 你可以在程序的指令部分区分开共享符号和局域符号。
•符号表中定义的符号(共享)显示在引号内。
•块变量声明表中的符号(局域)显示时前面加上“#”。 提示:
使用菜单命令 View>Display>Symbolic Representation,你可以在所有 声明的符号地址和地址之间进行切换。
4.1.3 寻址方式
寻址方式是指令得到操作数的方式。
4.1.4 数据类型
数据类型决定了你以什么方式或格式理解或访问存储区中的数据。
4.1.5 状态字
状态字用于表示 CPU 执行指令时所具有的状态。
如何输入梯形图组件:
1、在段中选择一点,你想在该点后面插入一个梯形图组件。
2、用下列方法之一,在段中插入所需的组件:
• 在菜单“Insert”中选择合适的菜单命令,例如, Insert>LAD Element>Normally Open Contact
• 用功能键 F2、F3 或 F7 输入一个常开触点、常闭触点或输出线圈。
• 选择菜单命令 Insert>Program Elements 打开“program Elements
(编程组件)”对话框并在目录中选择所需的组件。 所选的梯形图组件被插入,问号被用来表示地址和参数。
如何输入语句表语句: 1、通过点击灰色注释框下面的任意区域就可打开正文框(或者若不显示
段注释则在段标题的下面)。 2、输入指令、按空格键,然后是地址(直接或间接地址)。
3、按空格键并输入以双斜线//开始的注释(可选)。
4、在完成一条(一行)带注释或不带注释的语句后按 RETURN。 一行完成后,运行语法检查,这条语句形成并显示,指令中或地址 中的任何小写字母都转换为大写。任何查到的语法错误都显示为红色斜 体,在存储该逻辑块之前必须修改所有错误。
4.2 位逻辑指令
4.2.1 位逻辑运算指令
1.“与”、“或”、“异或”指令
(1)语句指令
布尔逻辑串内的真值表(根据下列表可以确定第二条布尔位操作 后的 RLO)
助记符 | 指令 | 指令前 RLO | 地址状态 | RLO 结果 |
A | 与 | 0 | 0 | 0 |
0 | 1 | 0 | ||
1 | 0 | 0 | ||
1 | 1 | 1 | ||
AN | 与非 | 0 | 0 | 0 |
0 | 1 | 0 | ||
1 | 0 | 1 | ||
1 | 1 | 0 | ||
O | 或 | 0 | 0 | 0 |
0 | 1 | 1 | ||
1 | 0 | 1 | ||
1 | 1 | 1 |
ON | 或非 | 0 | 0 | 1 |
0 | 1 | 0 | ||
1 | 0 | 1 | ||
1 | 1 | 1 | ||
X | 异或 | 0 | 0 | 0 |
0 | 1 | 1 | ||
1 | 0 | 1 | ||
1 | 1 | 0 | ||
XN | 异或非 | 0 | 0 | 1 |
0 | 1 | 0 | ||
1 | 0 | 0 | ||
1 | 1 | 1 |
布尔逻辑串开始的真值表
助记符 | 指令 | 地址状态 | RLO 结果 |
A | 与 | 0 1 | 0 1 |
AN | 与非 | 0 1 | 1 0 |
O | 或 | 0 1 | 0 1 |
ON | 或非 | 0 1 | 1 0 |
X | 异或 | 0 1 | 0 1 |
XN | 异或非 | 0 1 | 1 0 |
(2)梯形图逻辑指令
①常开接点(动合触点)元素和参数
②常闭接点(动断触点)元素和参数
2.输出指令
输出指令把状态字中 RLO 的值赋给的操作数
STL 指令 | LAD 指令 | 功能 | 操作数 | 数据类 型 | 存储区 |
=<地址> | <地址> ---( ) | 逻辑串赋 值输出 | <位地址> | BOOL | I,Q,M, D,L |
<地址> --(#)-- | 中间结果 赋值输出 | <位地址> | BOOL | I,Q,M, D,L |
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频率为输 入频率的一半。如下,输入为 I0.0,输出为 Q4.0。
梯形图程序:
语句表程序:
例二 风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上 转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以 0.5Hz 的频 率闪烁;如果没有任何风机转动,则指示灯以 2Hz 的频率闪烁。当设备 不运行时,指示灯不亮。
梯形图程序:
语句表程序:
输入位 I0.0,I0.1,I0.2 分别表示风机 1,2,3。存储位 M100.3 为 2Hz 的 频率信号,M100.7 为 0.5Hz 的信号。风机转动状态指示灯由 Q4.0 控制。 存储位 10.0 为 1 时用于表示至少有两台风机转动,M10.1 为 1 时表示没 有风机转动。
例三 启动和自锁程序
程序功能:输入 X0 闭合时,输出 Y0 闭合且自锁。只有在 X1 闭合时,其 动断触点打开,Y0 断开。其时序图如下。
梯形图程序:
语句表程序:
练习:请指出以下实现输出 Q0.0、Q0.1 互锁程序的错误,并改正。
例四 优先程序 优先程序执行时,能在多个输入信号中仅接收一个输入信号作出反 映,其后的输入信号不接收。此原则常用于抢答器中。
例五 灯泡控制程序 一盏灯泡由一个按钮来控制,已知*次按下按钮,灯泡亮,第二次按 下按钮,灯光灭。
(一)PLC 接线图
(二)定义符号地址
符号地址 | 地址 | 类据类型 | 说明 |
S0 | I0.0 | BOOL | 按钮 |
L0 | Q0.0 | BOOL | 灯泡 |
M0 | M0.0 | BOOL | 标标位 |
(三)梯形图程序
例六 双作用气缸连续往复运动控制 按启动按钮双作用气缸连续往复运动,按停止按钮,停止运动。
(一)气控回路
(二)PLC 接线
(三)定义符号地址
符号地址 | 地址 | 类据类型 | 说明 |
S0 | I0.0 | BOOL | 启动按钮 |
S1 | I0.1 | BOOL | 停止按钮 |
1S1 | I0.2 | BOOL | 位置传感器 |
1S2 | I0.3 | BOOL | 位置传感器 |
1Y1 | Q0.0 | BOOL | 换向阀电磁线 圈 |
1Y2 | Q0.1 | BOOL | 换向阀电磁线 圈 |
M0 | M0.0 | BOOL | 启动线圈 |
(四)梯形图程序
练习:编制电动机点动和连续运转控制程序。
输入端 | 控制触点 | 控制功能 | 输出端 | 执行器件 | 实现功能 |
I0.0 | 停止按钮 (常开) | 停止 | Q0.0 | KM1 | 控制电动 机电源 |
I0.1 | 点动按钮 (常开) | 点动 | Q0.1 | 保护指示 灯 | 当保护动 作时闪亮 |
I0.2 | 连续运转 按钮(常 开) | 连续运转启动 |
I0.3 | 热继电器 触点(常 闭) | 过载保护动作 使得电机停止 |
参考程序:
(一)定义符号地址
(二)LAD 程序
练习:编制双控灯控制程序,要求开关 K1 或 K2 任意一个开关的开和 关的操作均可以控制灯 L 的亮和灭。完成后可再编制三控灯。 参考程序
程序 1:
3.置位/复位指令
STL 指令 | LAD 指令 | 功能 | 操作数 | 数据类型 | 存储区 |
S<位地址> | <位地址>---(S) | 置位输出 | <位地址> | BOOL | I,Q,M, D,L |
R<位地址> | <位地址>--(R) | 复位输出 | <位地址> | BOOL,TIMER, COUNTER | I,Q,M,D,L,T,C |
复位/置位指令根据 RLO 的值,来决定被寻址位的信号状态是否需要改变。 若 RLO 的值为 1,被寻地址位的信号状态被置 1 或清 0;若 RLO 的值为 0,被寻 址位的信号保持原状态不变。这一特性又称为静态的置位/复位。相应地, 赋值输出被称为动态赋值输出。在 LAD 中置位/复位指令要放在逻辑串右 端,而不能放在逻辑串中间。
4. RS 触发器
置位复位触发器真值表
S | R | Q |
0 | 0 | - |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
复位置位触发器真值表
R | S | Q |
0 | 0 | - |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
在 LAD 中,RS 触发器可以用在逻辑串右端,结束一个逻辑串,也可用在逻辑串中,影响右边的逻辑操作结果。
例一 控制传送带 一个由电气启动的传送带,在传送带的起点有两个按钮开关:用于START 的 S1 和 STOP 的 S2。在传送带的尾部也有两个按钮开关:于 START 的 S3 和 STOP 的 S4。可以从任何一端起动或停止传送带。另外,当传送带上的物件 到达末端时,传感器 S5 使传送带停机。
(一)PLC 接线
(二)定义符号地址
符号地址 | 地址 | 类据类型 | 说明 |
S1 | I0.0 | BOOL | 起点启动按钮 |
S2 | I0.1 | BOOL | 起点停机按钮 |
S3 | I0.2 | BOOL | 尾部启动按钮 |
S4 | I0.3 | BOOL | 尾部停机按钮 |
S5 | I0.4 | BOOL | 末端传感器 |
MOTOR_ON | Q0.0 | BOOL | 电机 |
(三)梯形图程序
思考题:
如下的程序有什么不足之处?应如何改正?
例二 双缸顺序动作控制程序 设计程序,使两个气缸顺序动作,其顺序为:A1B1B0A0。
(一)气控回路
(二)位移-步骤图
(三)I 型障碍信号分析
(四)PLC 接线
(五)定义符号地址
(六)梯形图程序
5.RLO 上升沿、下降沿检测指令
LAD 指令 | STL 指令 | 功能 | 操作数 | 数据类型 | 存储区 |
<位地址>-(P)- | FP<位地址> | RLO 上升 沿检测 | <位地址> 存储旧 RLO 的边 沿存储位 | BOOL | I、Q、M、 D、L |
<位地址>-(N)- | FN<位地址> | RLO 下降 沿检测 | BOOL | I、Q、M、 D、L |
RLO 上升沿检测指令识别 RLO从0至 1(上升沿)的信号变化,并且在操 作之后以 RLO=1 表示这一变化。用边沿存储位比较 RLO 的现在的信号状态 与该地址上周期的信号状态,如果操作之前地址的信号状态是 0,并且现在 RLO=1,那么操作之后,RLO 将为 1(脉冲),所有其它的情况为 0。在该操 作之前,RLO 存储于地址中。
RLO 下降沿检测指令识别 RLO从1至 0(下降沿)的信号变化,并且在操 作之后以 RLO=1 表示这一变化。用边沿存储位比较 RLO 的现在的信号状态 与该地址上周期的信号状态,如果操作之前地址的信号状态是 1,并且现在 RLO=0,那么操作之后,RLO 将为 1(脉冲),所有其它的情况为 0。在该操 作之前,RLO 存储于地址中。
如果 RLO 在相邻的两个扫描周期中相同(全为1或 0),那么 FP或 FN语 句把 RLO 位清 0。
6.地址上升沿、下降沿检测指令
地址上升沿检测指令将<位地址 1>的信号状态与存储在<位地址 2>中的 先前信号状态检查时的信号状态比较。如果有从0至1 的变化的话,输出 Q 为 1,否则为 0。
地址下降沿检测指令将<位地址 1>的信号状态与存储在<位地址 2>中的 先前信号状态检查时的信号状态比较。如果有从1至0 的变化的话,输出 Q 为 1,否则为 0。
在梯形图中,地址跳变沿检测方块和 RS 触发器方块可被看作一个特殊常 开触点。该常开触点的特性:若方块的 Q 为 1,触点闭合;若 Q 为 0,则触 点断开。
7.对 RLO 的直接操作指令
LAD 指令 | STL 指令 | 功能 | 说明 |
-|NOT|- | NOT | 取反 RLO | 在逻辑串中,对当前的 RLO 取反; 取反指令或置位 STA |
------- | SET | 置位 RLO | 把 RLO 无条件置 1 并结束逻辑串; 使 STA 置 1,OR FC 清 0 |
------- | CLR | 复位 RLO | 把 RLO 无条件清 0 并结束逻辑串; 清 0 STA,OR FC |
-(SAVE) | SAVE | 保存 RLO | 把 RLO 存入状态字的 BR 位,该指令 不影响其它状态位 |
贵州西门子S7-1500代理商欢迎您(总代理)