1 这里就是图9中系统指定的高速计数器硬件识别号,这里填1
2 “1”为使能更新初值
3 “0”新初始值为0
至此程序编制部分完成,将完成的组态与程序下载到CPU后即可执行,当前的计数值可在ID1000中读出 ,关于高速计数器指令块,若不需要修改硬件组态中的参数,可不需要调用,系统仍然可以计数。
PWM功能简介
PWM(脉冲宽度可调)是一种周期固定,脉宽可调节的脉冲输出,如图1示,PWM功能虽然使用的是数字量输出,但其在很多方面类似于模拟量,比如它可以控制电机的转速,阀门的位置等。S7-1200 CPU提供了两个输出通道用于高速脉冲输出,分别可组态为PTO或PWM,PTO的功能只能由运动控制指令来实现,PWM功能使用CTRL_PWM指令块实现,当一个通道被组态为PWM时,将不能使用PTO功能,反之亦然。
图1所示为PWM原理
|
脉冲宽度可表示为脉冲周期的百分之几(0-100%),千分之几(0-1000),万分之几(0-10000)或S7 analog(模拟量)形式,脉宽的范围可从0(无脉冲,数字量输出为0)到全脉冲周期(无脉冲,数字量输出为1 ) 。
|
1 脉冲周期 2 脉冲宽度
图1 PWM原理
2 PWM功能组态
CPU的两路脉冲发生器,使用特定的输出点,如图2所示,用户可使用CPU集成输出点或信号板的输出点,表中所示为默认情况下的地址分配,用户也可自己更改输出地址,无论点的地址如何变化,PTO1/PWM1总是使用**组输出,PTO2/PWM2使用紧接着的一组输出,对于CPU集成点和信号板上的点都是如此。PTO在使用脉冲输出时一般占用2个输出点,而PWM只使用一个点,另个没有使用的点可用作其它功能。
脉冲功能输出点占用如图2
图2 脉冲功能输出点占用
组态步骤
1. 进入Device Configuration(设备组态)界面,选中CPU,点击属性,选中Pulse Generator(PTO/PWM)。如图3
图3进入设备组态
2. 组态脉冲发生器参数,如图4。
图4 脉冲发生器组态
1 Pulse generator used as(脉冲输出类型):用于选择PTO或PWM输出。
2 Output source(输出源):选择是CPU集成点输出或信号板输出。
3 Time Based(时基):Milliseconds(毫秒),Microseconds(微秒)
4 Pulse bbbbb format(脉宽形式):Hundredths(百分比),Thousandths(千分比),ten thousandths(万分比),S7 analog format(S7模拟量)。
5 Cycle time(周期):脉冲的周期值只能在此修改。
6 Intial pulse bbbbb(初始脉宽)。
图5所示为系统指定的硬件输出点
图5 PWM硬件输出点
图6为PWM所分地址
图6 PWM脉宽调制地址
1 Start address(起始地址):此地址为WORD类型,用于存放脉宽值,用户可在系统运行中实时修改此值达到修改脉宽的目的,默认情况下,PWM1使用QW1000,PWM2使用QW1002。
2 Process Image(过程映像区):由于脉宽值存放地址为过程映像区,这里选择更新方式,默认为周期更新。
3 HW ID(硬件识别号)。
3 PWM指令块
S7-1200 CPU使用CTRL_PWM指令块实现PWM输出,如图7.在使用此指令块时需要添加背景数据块,用于存储参数信息。
图7 PWM指令块
PWM指令块参数如表1
参数
|
数据类型
|
描述
|
PWM
|
WORD
|
填写硬件识别号,即组态参数中的HW ID
|
Enbale
|
BOOL
|
1= 使能指令块
|
0= 禁止指令块
|
Busy
|
BOOL
|
功能应用中
|
Status
|
WORD
|
状态显示
|
表1 PWM指令块参数
当EN端变为1时,指令块通过Enable端使能或禁止脉冲输出,脉冲宽度通过组态好的QW来调节,当CTRL_PWM指令块正在运行时,BUSY位将一直为0。
有错误发生时ENO端输出为0,同时STATUS显示错误状态,如图2
Status 值
|
描述
|
0
|
无错误
|
80A1
|
硬件识别号(HW ID)非法
|
表2 错误状态
4 应用举例
使用模拟量控制数字量输出,当模拟量值发生变换时,CPU输出的脉冲宽度随之改变,但周期不变,可用于控制脉冲方式的加热设备。此应用通过PWM功能实现,脉冲周期为1S,模拟量值在0-27648之间变化。
1硬件组态
在硬件组态中定义相关输出点,并进行参数组态,双击硬件组态选中CPU
定义IW64为模拟量输入,输入信号为0-10V DC。
PWM 参数组态如下
图8所示为硬件参数组态
图8 硬件参数组态
图9所示为硬件输出点与脉宽地址定义
图9 硬件输出点与脉宽地址
2建立变量
在变量表中建好变量,如图10
图10 PWM示例建立变量
3程序编制
在定义完变量后,打开OB1,从指令列表中将CTRL_PWM指令块拖入编辑器中,并定义背景数据块,*后添加模拟量赋值程序。如图11
图11 PWM示例程序编制
4监控
在状态表中监控变量如图12,使能PWM_Enable,通过外部模拟电位计,改变输入电压“Analog_bbbbb”值,脉冲以1S的固定周期,脉宽随“Pulse bbbbb”变化。
图12 PWM示例监控变量
S7-1200 存储卡使用
1 S7-1200 存储卡介绍
S7-1200 CPU 使用的存储卡为 SD 卡,存储卡中可以存储用户项目文件,有如下四种功能:
-
作为 CPU 的装载存储区,用户项目文件可以仅存储在卡中,CPU 中没有项目文件,离开存储卡无法运行。
-
在有编程器的情况下,作为向多个S7-1200PLC 传送项目文件的介质。
-
忘记密码时,** CPU 内部的项目文件和密码。
-
24M卡可以用于更新S7-1200CPU 的固件版本。
图. 1: S7-1200 存储卡
怎样插入存储卡:
将CPU上挡板向下掀开,可以看到右上角有一 MC 卡槽,将存储卡缺口向上插入,如下图所示:
图. 2: 插入存储卡
注意
-
对于 S7-1200 CPU ,存储卡不是必须的。
-
将存储卡插到一个运行状态的 CPU 上,会造成 CPU 停机。
-
S7-1200 CPU 仅支持由西门子制造商预先格式化过的存储卡, 存储卡订货号如下表所示:
订货
|
容量
|
6ES7 954-8LF01-0AA0
|
24MB
|
6ES7954-8LC01-0AA0
|
4MB
|
6ES7 954-8LB01-0AA0
|
2MB
|
表 1: 存储卡信息
2 存储卡的工作模式
存储卡有两种工作模式:
-
程序卡:存储卡作为S7-1200 CPU 的装载存储区,所有程序和数据存储在卡中,CPU 内部集成的存储区中没有项目文件,设备运行中存储卡不能被拔出 。
-
传输卡:用于从存储卡向 CPU 传送项目,传送完成后必须将存储卡拔出。CPU 可以离开存储卡独立运行。
修改存储卡的工作模式:
在STEP 7 Basic 软件的项目视图下,点击左侧"项目视图“--->"SIMATIC Card Reader" --->,如下图所示:
图. 3: 项目视图
右击存储卡的盘符(这里是F:),选择“属性”按钮,打开下面窗口:
图. 4: 存储卡属性
用户在“存储卡类型”中选择需要的工作模式,点击“确认”完成设定。
3 程序卡的不同模式
优点:更换 CPU 时不需要重新下载项目文件。
3.1 上载用户文件到存储卡
-
**步: 按照上面方法将存储卡设定到“编程”模式。建议客户做此操作之前**存储卡中的所有文件。
-
**步: 设置 CPU 的启动状态。在"项目树"中右击 CPU 选择“属性”,在“属性”窗口中点击“启动”,此处我们必须选择“暖启动-RUN 模式”。
图. 5: 启动
-
第三步: 将 CPU 断电
-
第四步: 将存储卡插到 CPU 卡槽内
-
第五步: 将 CPU 上电
-
第六步: 在 STEP 7 Basic 中点击下载,将项目文件全部下载到存储卡中。此时下载是将项目文件(包括用户程序、硬件组态和强制值)下载到存储卡中,而不是 CPU 内部集成的存储区中。
完成上述步骤后,CPU可以带卡正常运行。此时如果将存储卡拔出,CPU 会报错,"ERROR"红灯闪烁。
3.2 常见问题
FAQ 1
为什么插上存储卡后 CPU 的“MAINT”灯闪烁,使用STEP 7 Basic下载时提示报错“The download of the hardware configuration failed (0050 -133 2 2458)”?
回答
请**存储卡中的所有文件,重新使用STEP7 Basic软件将存储卡设置到“编程”模式,然后再重复上述步骤。请您也检查存储卡上的拨码开关,检查存储卡是否处于写保护模式。