热门搜索:
上海西邑电气技术有限公司 评着“以人为本、科技先导、顾客满意、持续改进”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成,拥有丰富的自动化产品的应用和实践经验以及雄厚的技术力量,尤其以 PLC复杂控制系统、传动技术应用、伺服控制系统、数控备品备件、人机界面及网络/软件应用为公司的技术特长,几年来, 在与德国 SIEMENS公司自动化与驱动部门的长期紧密合作过程中,建立了良好的相互协作关系,在可编程控制器、交直流传动装置方面的业务逐年成倍增长,为广大用户提供了SIEMENS的较新 技术及自动控制的较佳解决方案
特点
CPU 1211C
CPU 1212C
CPU 1214C
CPU 1215C
CPU 1217C
型号
DC/DC/DC、AC/DC/继电器、DC/DC/继电器
工作存储器,集成式
50 KB
75 KB
100 KB
125 KB
150 KB
装载存储器,集成式
1 MB
2 MB
4 MB
4 MB
4 MB
存储卡
SIMATIC 存储卡(可选)
数字量输入/输出,集成式
6/4
8/6
14/10
14/10
14/10
模拟量输入,集成式
2
2
2
2
2
集成的模拟量输出
0
0
0
2
2
过程映像
1024 字节用于输入/1024 字节用于输出
通过信号板进行扩展
较多 1 个
较多 1 个
较多 1 个
较多 1 个
较多 1 个
通过信号模块进行扩展
-
较多 2 个
较多 8 个
较多 8 个
较多 8 个
特性
CPU 1212 FC
CPU 1214 FC
CPU 1215 FC
类型
DC/DC/DC、DC/DC/继电器
DC/DC/DC、DC/DC/继电器
DC/DC/DC、DC/DC/继电器
主存储器,集成式
100 KB
125 KB
150 KB
装载存储器,集成式
2 MB
4 MB
4 MB
存储卡
SIMATIC 存储卡(可选)
SIMATIC 存储卡(可选)
SIMATIC 存储卡(可选)
标准数字量输入/输出,集成式
8/6
14/10
14/10
标准模拟量输入,集成式
2
2
2
标准模拟量输出,集成式
-
-
2
过程映像
1024 字节用于输入/1024 字节用于输出
1024 字节用于输入/1024 字节用于输出
1024 字节用于输入/1024 字节用于输出
通过信号板进行扩展
较多 1 个
较多 1 个
较多 1 个
通过信号模块进行扩展
较多 2 个
较多 8 个
较多 8 个
通过通信模块进行扩展
较多 3 个
较多 3 个
较多 3 个
1高速计数器
高速计数器定义为5种工作模式
每种高速计数器有两种工作状态。
所有的计数器*启动条件设置,在硬件向导中设置完成后下载到CPU中即可启动高速计数器,在A/B相正交模式下可选择1X(1倍) 和4X(4倍)模式,高速计数功能所能支持的输入电压为24V DC,目前不支持5V DC的脉冲输入,表1列出了高速计数器的硬件输入定义和工作模式
表1 高速计数器硬件输入定义与工作模式
并非所有的CPU都可以使用6个高速计数器,如1211C只有6个集成输入点,所以较多只能支持4个(使用信号板的情况下)高速计数器。
表1 高速计数器寻址
4频率测量
5高速计数器指令块
高速计数器指令块,需要使用*背景数据块用于存储参数。图1所示为高速计数器指令块
表3所示为高速计数器指令块参数说明
表1 高速计数器指令块参数
6应用举例
组态步骤:
激活高速计数功能如图4
计数类型,计数方向组态如图5所示
1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。这里选择Counting
预置值中断组态如图7
组态添加的硬件中断,如图8
地址分配与硬件识别号如图9
至此硬件组态部分已经完成,下面进行程序编写
概述
放眼PID 调试中的常见问题,无论是FB58还是FB41,PID的输出值为零一直困扰许许多多的客户,今天我们评选出来导致输出为零的5大原因。
参数MAN_ON用于切换手动和自动状态,MAN_ON=1 PID处于手动状态,此时的输出LMN=MAN。大多数初次使用的客户有一个误区,FB引脚不写参数,参数就应该是0,其实不然,FB41缺省MAN_ON=1处于手动状态,而手动值MAN =0,参考图2,相当于直接手动给输出“0”,所以如果您忽略了这一点,LMN=0就不足为奇了。
易犯指数:9
难度指数:6
综合评定:7.5
TOP.4
参数P_SEL、 I_SEL 、D_SEL分别控制激活比例、积分、微分作用,初始状态FB41处于比例积分作用,见图3。但是如果其它地方对这几个参数作了复位操作,则相当于取消了PID的作用,比例分量LMN_P、 积分分量LMN_I、微分分量LMN_D将都是“0”,那么PID的输出LMN自然也为零。这种情况常出现在程序中其它地方的地址复用或是上位组态系统的误操作,千万要注意啊!
图3
易犯指数:8
难度指数:8
综合评定:8
TOP.3
参数LMN_HLM、 LMN_LLM是对PID输出的限幅,分别代表上限和下限,缺省情况限制在0.0-100.0,如图4。但是如果我们给FB41引脚LMN_HLM、 LMN_LLM赋实参,如图5,这个时候LMN_HLM、 LMN_LLM的实际值就由MD2和MD6决定了,但很多用户忘了给MD2 MD6赋值,上下限就都成了“0”,见图6。可想而知,这个时候不管您怎么设置参数,LMN必然为零。
图4
图5
图6
易犯指数:9
难度指数:8
综合评定:8.5
TOP.2
参数COM_RST=1执行完全复位操作,比例、微分分量的输出为零,积分分量恢复为积分初值(默认为0),我们常常在OB100中执行,见图7,只在CPU重新上电的时候对PID复位。但是要注意了,COM_RST置位后不会自己复位,如果我们不手动复位它,COM_RST会一直为1,PID始终处于复位状态,如图8,这样LMN当然输出“0”了。所以OB100中执行完FB41,一定注意要复位COM_RST,见图9。
图7
图8
图9
易犯指数:9
难度指数:9
综合评定:9
**
见图10,PID手动,手动输出值50.0,貌似没有任何问题,但是输出LMN确是“0”,见图11。我们再仔细检查程序,经常发现FB41执行了多次,可是使用的是同一个背景数据块DB41,见图12,这种情况就会使得不同的PID回路互相影响,LMN输出就很可能是一个随机的不可预测的数了,象图12中的情况输出LMN等于0。所以,如果使用多路PID,一定要给每个回路分配一个背景数据块,千万不要使用同一背景数据块,必须的!
图10
图11
图12
易犯指数:10
难度指数:10
综合评定:10
以上举出了PID FB41输出为0的5个常见易犯的错误,但是客观上来说,所有的错误都是对参数含义不了解或是粗心造成的。经常会有客户问,FB41哪些参数是有用的,我想说,所有的参数都是有用的!因为只有您了解了参数的含义,才知道自己的系统到底用不用得到 6ES7194-1KC00-0XA0
6ES7194-1LA01-0AA0
6ES7194-1LB01-0AA0
6ES7194-1LC00-0AA0
6ES7194-1LC01-0AA0
6ES7194-1LD01-0AA0
6ES7194-1LY00-0AA0
6ES7194-1LY10-0AA0
6ES7194-3AA00-0AA0
6ES7194-3AA00-0BA0
6ES7194-3JA00-0AA0
6ES7194-4AA00-0AA0
6ES7194-4AC00-0AA0
6ES7194-4AD00-0AA0
6ES7194-4AF00-0AA0
6ES7194-4AG00-0AA0
6ES7194-4AJ00-0AA0
6ES7194-4AN00-0AA0
6ES7194-4BA00-0AA0
6ES7194-4BC00-0AA0
6ES7194-4BD00-0AA0
6ES7194-4BE00-0AA0
6ES7194-4BH00-0AA0
6ES7194-4CA00-0AA0
6ES7194-4CA50-0AA0
6ES7194-4CB00-0AA0
6ES7194-4DA00-0AA0
6ES7194-4DC00-0AA0
6ES7194-4DD00-0AA0
6ES7194-4EB00-0AA0
6ES7194-4FA00-0AA0
6ES7194-4FB00-0AA0
6ES7194-4GA00-0AA0
6ES7194-4GA10-0AA0
6ES7194-4GA20-0AA0
6ES7194-4GA60-0AA0
6ES7194-4GB00-0AA0
6ES7194-4GB10-0AA0
6ES7194-4GB20-0AA0
6ES7194-4GB60-0AA0
6ES7194-4GC00-0AA0
6ES7194-4GC10-0AA0
6ES7194-4GC20-0AA0
6ES7194-4GC60-0AA0
6ES7194-4GC70-0AA0
6ES7194-4GD00-0AA0
6ES7194-4GD10-0AA0
6ES7194-4GD20-0AA0
6ES7194-4HA00-0AA0
6ES7194-4HB00-0AA0
6ES7194-4JD60-0AA0
6ES7194-5AA00-0XA0
6ES7195-0AA04-0XA0
6ES7195-0AA05-0XA0
6ES7195-0AA14-0XA0
6ES7195-0AA15-0XA0
6ES7195-0AA24-0XA0
6ES7195-0AA25-0XA0
6ES7195-0AA34-0XA0
6ES7195-0AA35-0XA0
6ES7195-0BA02-0XA0
6ES7195-0BA12-0XA0
6ES7195-0BA21-0XA0
6ES7195-0BA32-0XA0
6ES7195-0BB00-0XA0
6ES7195-0BB10-0XA0
6ES7195-0BB20-0XA0
6ES7195-0BC00-0XA0
6ES7195-0BC01-0XA0
6ES7195-0BC10-0XA0
6ES7195-0BC11-0XA0
6ES7195-0BC20-0XA0
6ES7195-0BC21-0XA0
6ES7195-0BC30-0XA0
6ES7195-0BC31-0XA0
6ES7195-0BD02-0XA0
6ES7195-0BD04-0XA0
6ES7195-0BD12-0XA0
6ES7195-0BD14-0XA0
6ES7195-0BD23-0XA0
6ES7195-0BD24-0XA0
6ES7195-0BD33-0XA0
6ES7195-0BD34-0XA0
6ES7195-0BE01-0XA0
6ES7195-0BE02-0XA0
6ES7195-0BE11-0XA0
6ES7195-0BE12-0XA0
6ES7195-0BE21-0XA0
6ES7195-0BE22-0XA0
6ES7195-0BE31-0XA0
6ES7195-0BE32-0XA0
6ES7195-0BF00-0XA0
6ES7195-0BF01-0XA0
6ES7195-0BF10-0XA0
6ES7195-0BF11-0XA0
6ES7195-0BF20-0XA0
6ES7195-0BF21-0XA0
6ES7195-0BF30-0XA0
6ES7195-0BF31-0XA0
6ES7195-0EA00-0XA0
6ES7195-0EA10-0XA0
6ES7195-0EA20-0XA0
6ES7195-1BE00-0XA0
6ES7195-1GA00-0XA0
6ES7195-1GC00-0XA0
6ES7195-1GF30-0XA0
6ES7195-1GG30-0XA0
6ES7195-1JA00-0XA0
6ES7195-1KA00-0XA0
6ES7195-2AA00-0XA0
6ES7195-2AC00-0XA0
6ES7195-2BA00-0XA0
6ES7195-2BA01-0XA0
6ES7195-2BA02-0XA0
6ES7195-2BB00-0XA0
6ES7195-3BA00-0YA0
6ES7195-3BA10-0YA0
6ES7195-3BA20-0YA0
6ES7195-3BC00-0YA0
6ES7195-3BC10-0YA0
6ES7195-3BF01-0YA0
6ES7195-7HA00-0XA0
6ES7195-7HB00-0XA0
6ES7195-7HC00-0XA0
6ES7195-7HD00-0XA0
6ES7195-7HD10-0XA0
6ES7195-7HD80-0XA0
6ES7195-7HE80-0XA0
6ES7195-7HF80-0XA0
6ES7195-7HG00-0XA0
6ES7195-7HG80-0XA0
6ES7195-7KF00-0XA0
S7-1200 CPU提供了较多6个(1214C)高速计数器,其独立于CPU的扫描周期进行计数。可测量的单相脉冲频率较高为100KHz,双相或A/B相较高为30KHz,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。
2高速计数器工作模式
描述
输入点定义
功能
HSC
HSC1
使用CPU集成I/O或信号板或监控PTO0
I0.0
I0.1
I0.3
I4.0
I4.1
PTO 0
PTO 0 方向
HSC2
使用CPU集成I/O或监控PTO0
I0.2
I0.3
I0.1
PTO 1
PTO 1 方向
HSC3
使用CPU集成I/O
I0.4
I0.5
I0.7
HSC4
使用CPU集成I/O
I0.6
I0.7
I0.5
HSC5
使用CPU集成I/O或信号板
I1.0
I1.1
I1.2
I4.0
I4.1
HSC6
使用CPU集成I/O
I1.3
I1.4
I1.5
模式
单相计数,内部方向控制
时钟
计数或频率
复位
计数
单相计数,外部方向控制
时钟
方向
计数或频率
复位
计数
双相计数,两路时钟输入
增时钟
减时钟
计数或频率
复位
计数
A/B相正交计数
A相
B相
计数或频率
Z相
计数
监控PTO输出
时钟
方向
计数
由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。
高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入
监控PTO的模式只有HSC1和HSC2支持,使用此模式时,不需要外部接线,CPU在内部已作了硬件连接,可直接检测通过PTO功能所发脉冲。
3高速计数器寻址
CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。以ID1000为例,其外设地址为“ID1000:P”。表2 所示为高速计数器寻址列表
高速计数器号
数据类型
默认地址
HSC1
DINT
ID1000
HSC2
DINT
ID1004
HSC3
DINT
ID1008
HSC4
DINT
ID1012
HSC5
DINT
ID1016
HSC6
DINT
ID1020
S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
图1高速计数器指令块
HSC (HW_HSC)
高速计数器硬件识别号
DIR (BOOL)
TRUE =使能新方向
CV (BOOL)
TRUE = 使能新初始值
RV (BOOL)
TRUE = 使能新参考值
PERIODE (BOOL)
TRUE = 使能新频率测量周期
NEW_DIR (INT)
方向选择1=正向
0=反向
NEW_CV (DINT)
新初始值
NEW_RV (DINT)
新参考值
NEW_PERIODE (INT)
新频率测量周期
为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。模式为:单相计数,内部方向控制,无外部复位。据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
1硬件组态
选中CPU如图2
图2选中CPU
图3所示为选择属性打开组态界面
图3 选择属性打开组态界面
图4 激活高速计数功能
图5 计数类型,计数方向
2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。这里择Single phase
3 输入源,这里使用的为CPU集成输入点。
4 计数方向选择,这里选用User program (internal direction control)(内部方向控制)
5初始计数方向。这里选择Count up(向上计数)
初始值及复位组态如图6
图6 初始值及复位组态
图7 预置值中断组态
图8 添加硬件中断
图8 组态添加的硬件中断
图9 地址分配与硬件识别号
2程序编写
将高速计数指令块添加到硬件中断中
图10 打开硬件中断块 图11 添加高速计数器
图12 定义高速计数器背景数据块