全国服务热线 15221406036

SIEMENS/西门子6ES7222-1EF22-0XA0

发布:2023-03-20 16:56,更新:2024-05-08 07:10

SIEMENS/西门子6ES7222-1EF22-0XA0

读取存储卡的序列号

5.1 编程
描述:
为了获得 MMC 卡的序列号,必须使用 SFC 51 "RDSYSST" 读出系统状态列表 (SSL) :
• SSL ID W#16#011C "元件的标识"
• Index W#16#0008 "存储卡的序列号"
对于所有的带有 MMC 卡的 S7-300 CPU 和 C7 从固件版本 V2.0 起都可以读出存储卡的序列号,(CPU 317: 从 V2.1 起)。
从S7-400的V5版本起,存储卡上保存唯一的序列号。
首先需要创建一个数据块,用来存放读取出来的状态结果


图11 创建DB1,存放读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)


图12 创建名为length的结构变量

双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:


图13 创建length的结构变量的两个word成员

编写SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //读取MMC 的序列号
INDEX :=W#16#8
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块中

结果如下:


图14 MMC序列号

注意事项:
关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > DOCUMENTATION选择手册“System Software for S7-300/400 System and Standard Functions”

以下是西门子plc初始化和操作顺序说明,能够帮助您更好地理解PTO和PWM功能操作。在整个顺序说明过程中一直使用脉冲输出Q0.0。初始化说明假定S7-200西门子plc刚刚置入RUN(运行)模式,因此扫描内存位为真实。如果不是如此或者如果必须对PTO/PWM功能重新初始化,您可以
利用除扫描内存位之外的一个条件调用初始化例行程序。
PWM初始化
以下PWM初始化和操作顺序说明建议使用“扫描”位(SM0.1)初始化脉冲输出。使用“扫描”位调用初始化子例行程序可降低扫描时间,因为随后的扫描无须调用该子例行程序。(仅需在转换为 RUN(运行)模式后的扫描时设置“扫描”位。)但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您可以使用另一个条 件调用初始化例行程序。
通常,您用一个子例行程序为脉冲输出初始化PWM。您从主程序调用初始化子例行程序。使用扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子例行程序,执行初始化操作。当您使用子例行程序调用时,随后的扫描不再调用该子例行程序,这样从西门子PLC主程序建立初始化子例行程序调用后,用以下步骤建立控制逻辑,用于在初始化子例行程序中配置脉冲输出 Q0.0:
1. 通过将以下一个数值载入SMB67: 16#D3(选择微秒递增)或16#DB(选择毫秒递增)的方法配置控制字节。
两个数值均可启用PTO/PWM功能、选择PWM操作、设置更新脉冲宽度和循环时间数值、以及选择时基(微秒或毫秒)。
2. 在SMW68中载入一个循环时间的字尺寸数值。
3. 在SMW70中载入脉冲宽度的字尺寸数值。
4. 执行PLS指令(以便S7-200为PTO/PWM生成器编程)。
5. 欲为随后的脉冲宽度变化预载一个新控制字节数值(选项),在SMB67:16#D2(微秒)或16#DA(毫秒)中载入下列数值之一。
6. 退出子例行程序。
为PWM输出更改脉冲宽度
如果您用16#D2或16#DA预载SMB67(请参阅以上第5步),您可以使用一个将脉冲宽度改变为脉冲输出(Q0.0)的子例行程序。
建立对该西门子PLC的子例行程序的调用后,使用以下步骤建立改变脉冲宽度的控制逻辑:
1. 在SMW70中载入新脉冲宽度的字尺寸数值。
2. 执行PLS指令,使S7-200为PTO/PWM生成器编程。
3. 退出子例行程序。

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com