西门子PLC控制器6ES7313-6BG04-0AB0
如何测定高速脉冲串的和速度?说明:
S7-200 提供了利用高速计数器计数脉冲串的选项。使用附件 "Frequency"library, 脉冲串的从计数器中计算出来,例如,相关的转化之后,从计数器中可以确定电机的速度。
概要:
此项任务分为以下三步:
1.定义一个高速计数器来获取脉冲序列
2. 创建程序编码
3. 转换为速度
1. 定义一个高速计数器来获取脉冲串
使用 STEP 7 Micro/WIN InstructionWizard 必须用一个高速脉冲计数器来计算外部脉冲。
表格01 列出了 S7-200可以提供的高速计数器,输入使用和的可测量。
高速计数器时钟输入输入CPUHC0E0.030 kHz221, 222, 224, 224XP, 224XPsi,226HC1E0.630 kHz221, 222, 224, 224XP, 224XPsi, 226HC2E1.230 kHz221,222, 224, 224XP, 224XPsi, 226HC3E0.130 kHz221, 222, 224, 224XP,224XPsi, 226HE0.3200 kHz224XP, 224XPsiHC5E0.4200 kHz224XP, 224XPsi表格01
程序:
图. 01
。
图. 02
图. 03
Note:
请参照 表 01 选择高速计数器。
图. 04
“Interrupt on Current Value equal Preset Value (CV = PV)"设置复选标记。
图. 05
图. 06
表格02
2.创建程序代码
No.说明1在操作块的网络 1 中使用比特 SM0.1 初始值来调用 Instructions Wizard为高速计数器产生的初始区组。
图. 07
图. 08
通过“Active"输入来使能功能块 (如果未使能,那么“Hz"输出参数值为“0")。
将 Instructions Wizard 选择的计数器填入“Counter"地址。
使用任意的双字地址(格式: REAL)填入到输入输出参数“Hz"上,用来以赫兹为单位显示测量出的值。
通过 Data Log 功能,可以使“Trigger" 根据特性输出一个脉冲。(参照 Step 5).
3“Frequency"库需要 16 字节的全局变量。需通过“文件"菜单>“库记忆分配"...来一个地址。
图. 09
图. 10
图. 11
说明:
Data Log 功能通过 Data Log Wizard来执行,记录的值可以通过 S7-200 的浏览器读取。
更多 Data Log 功能的信息参看SIMATIC S7-200 光盘指南。(条目号ID: ).
表格03
3.转换到速度
运用以下公式速度:
n = 60 * f / p
n =每分的速度-1
f = Hz
p = 电机运转需要的脉冲数
下载:
下载的 "frequency.zip" 包含以下文件:
软硬件及所要完成的通信任务
2.1硬件设备
实验的硬件设备:
1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0XB0)
2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7)
3、PC机(带以太网卡)
4、SCALANCE X216交换机,S7-1200、S7-300和PC通过交换机互连起来
5、TP以太网电缆
2.2 软件环境
1、STEP7 Basic V10.5 SP2
2、STEP7 V5.4 SP5
3、通信所需的功能块,请参见附件提供的例程 "Sample_1 ( 50 KB ) " 或参考下载中心文档:《A0284使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的程序。下载链接:80490650
2.3 所要完成的通信任务
本例中所要完成的通信任务定义为:
1、 将S7-1200的发送数据块DB3里的8个字节数据发送到S7-300的DB3中。
2、 将S7-300 DB3里接收到的8个字节数据再发送到S7-1200的接收数据块DB4中。
3 S7-1200 CPU的组态编程
3.1创建新项目
1、打开STEP 7 Basic 软件并新建项目
在STEP 7 Basic 的 “Portal View"中选择“Create newproject"创建一个新项目,项目名称为“GS_ISO"。
2、添加硬件并命名PLC
进入 “Project view",在“Project tree" 下双击 “Add newdevice",在对话框中选择所使用的S7-1200 CPU(6ES7 212-1BD30-0XB0)添加到机架上,设备名为PLC_1,如图1所示。
图1 添加新的PLC站
为了编程方便,我们使用 CPU 属性中定义的时钟位,定义方法如下:
在“Project tree> PLC_1 > Device configuration" 中,选中 CPU,在下面的属性窗口中,“Properties > System and clock memory"下,将系统位定义在MB1,时钟位定义在MB0,如图2所示。程序中我们主要使用 M0.3,它是以2Hz的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2 系统和时钟存储器
3、为 S7-1200 CPU的PROFINET 通信口分配以太网地址
在 “Device View"中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在“Ethernet addresses"下分配IP 地址为 192.168.0.2,子网掩码为255.255.255.0,如图3所示。
图3为 S7-1200 CPU的PROFINET 接口分配IP地址
3.2调用并配置通信指令
1、在 PLC_1 的 OB1 中调用 “TCON"通信指令
进入“Project tree > PLC_1 > Program blocks > OB1" 主程序中,从右侧窗口“Instructions > Extended Instructions > Communications" 下调用“TCON" 指令,并选择 “Single Instance" 生成背景 DB块,如图4所示。
图4 调用TCON指令
2、定义PLC_1 的 “TCON" 连接参数
PLC_1 的 TCON 指令的连接参数需要在指令下方的属性窗口“Properties > Configuration >Connection parameter"中设置,如图5所示。
连接参数说明:
End point
:选择通信伙伴,这里选择“unspecified"
Address
:通信伙伴S7-300站的IP地址“192.168.0.3"
Connection type
:选择通信协议为ISO on TCP
Connection ID
:连接的地址 ID 号,这个 ID 号在后面的编程里会用到
Connection data
:创建连接时,系统会自动生成本地的连接 DB 块,所有的连 接数据都会存在这个 DB 块中。
:选择本地 PLC_1作为主动连接,S7-300 CPU作为被动连接
Address details
:设定 TSAP 地址这里本地设置成“PLC_1", TSAPID自动为“50.4C.43.5F.31",伙伴方设置成不设置TSAP(ASCII),设置TSAP ID为“E0.02.50.4C.43.5F.31"。
图5 “TCON" 指令的连接参数
3、分配 “TCON" 的块参数
在指令下方的属性窗口“Properties > Configuration > blockparameter"中设置,可以根据需要自己为“TCON"块相应的输入输出参数。好参数的块,如图6所示。其中M8.0作为启动连接的触发位,连接ID = 1与连接参数里面的设置相同。
图6 “TCON" 的块参数
4、在 PLC_1 的 OB1 中调用 “TSEND" 发送通信指令
创建一个发送数据块,通过 “Project tree > PLC_1 > Program blocks >Add new block",选择 “Data block" 创建 DB 块,选择寻址,点击“OK"键,如图7所示。