西门子400内存卡/参数/选型
也可以将西门子400plc存储卡数据的地址值传入子程序(&VB100)
当OB1调用西门子400plc存储卡时,INPUT1的数值被传入FIRST,INPUT1和FIRST的数据类型必须匹配。在程序中使用符号名时,程序编辑器首先检查有关POU的局部变量表,然后检查符号表/全局变量表。如果某符号名在两处都没有定义,程序编辑器则将其视为全局符号,程序编辑器指定一条绿色波浪状下划线,并将名称括在双引号中,例如“UndefinedLocalVar”(未定义的局部变量)。如果后来对该符号名赋了值,则程序编辑器不会自动再次读取局部变量表并修改它。为了将该西门子400plc存储卡符号名作为局部变量使用,必须手工删除程序代码中的引号,并在符号名前插入#号,例如改为#UndefinedLocalVar。各子程序多可调用16个输入/输出参数,如果超出16个,将返回错误。选择希望的变量类型所在的行,并在名称域中键入变量名称,在数据类型域中键入数据类型。不需在局部变量表中的变量名称前加#号,#号只在程序代码中的局部变量名之前使用。局部变量名可包含数字、字母和下划线(_),也可以包含扩展字符(ASCII128~255)。
Flash存储卡具有掉电保持功能,即CPU在断电状态下,程序仍然可以保持在Flash存储卡中,下次PLC的CPU再次上电时,程序可以继续使用;而RAM存储卡不具备这种功能,如果CPU断电,则程序丢失。而一般情况下,为了避免因为CPU断电而造成的程序丢失,PLC可以装入电池,这样就可以做到程序在CPU断电时保存下来。
2. 程序下载
Flash存储卡在下载程序时,需要用户在编程软件中选择“Blocks”->“PLC”->“Load user program to memory card”,可以将程序保存在存储卡中,需要注意的是,Flash存储卡只能下载完整的用户程序,并且下载时需要CPU停机。而RAM卡下载程序较为方便,在CPU运行时就可以下载程序,用户在编程软件中直接点“Download”即可。
用户可以将Flash存储卡和RAM存储卡理解为电脑的硬盘和内存,这里Flash存储卡相当于硬盘,RAM存储卡相当于内存,用户可以根据自己的实际需求进行选择。
西门子S7400存储卡RAM4M/8M/16M/64/M 长结构形式4-64 Mbyte
订货号:
RAM,64 K 6ES7 952-0AF00-0AA0
RAM,256 K 6ES7 952-1AH00-0AA0
RAM,1 M 6ES7 952-1AK00-0AA0
RAM,2 M 6ES7 952-1AL00-0AA0
RAM,4 M 6ES7 952-1AM00-0AA0
RAM,8 M 6ES7 952-1AP00-0AA0
RAM,16 M 6ES7 952-1AS00-0AA0
RAM,64 M 6ES7 952-1AY00-0AA0
FLASH-EPROM,64 K 6ES7 952-0KF00-0AA0
FLASH-EPROM,256 K 6ES7 952-0KH00-0AA0
FLASH-EPROM,1 M 6ES7 952-1KK00-0AA0
FLASH-EPROM,2 M 6ES7 952-1KL00-0AA0
FLASH-EPROM,4 M 6ES7 952-1KM00-0AA0
FLASH-EPROM,8 M 6ES7 952-1KP00-0AA0
FLASH-EPROM,16 M 6ES7 952-1KS00-0AA0
FLASH EPROM,32 M 6ES7 952-1KT00-0AA0
FLASH EPROM,64 M 6ES7 952-1KY00-0AA0
![](http://item.yiqi.com/pic/ConPic/2/636615578779201541482.jpg)
![](http://item.yiqi.com/pic/ConPic/2/636615578021494970645.jpg)
西门子S7400存储卡RAM4M/8M/16M/64/M 长结构形式4-64 Mbyte
通信资源数量
S7-200 SMART CPU 以太网端口含有 8 个PUT/GET 主动连接资源和 8 个PUT/GET 被动连接资源。例如:CPU1 调用 PUT/GET 指令与 CPU2 ~ CPU9 建立8主动连接的同时,可以与 CPU10 ~ CPU17 建立8被动连接(CPU10 ~ CPU17 调用 PUT/GET 指令),这样的话 CPU1 可以同时与16台 CPU(CPU2 ~ CPU17)建立连接。关于主动连接资源和被动连接资源的详细解释如下:
1、主动连接资源和被动连接资源
- 调用 PUT/GET 指令的CPU 占用主动连接资源数;相应的远程 CPU 占用被动连接资源。
2、8 个PUT/GET 主动连接资源
- S7-200 SMART CPU 程序中可以包含远多于 8个PUT/GET 指令的调用,但是在同一时刻Z多只能激活 8 个 PUT/GET 连接资源。
- 同一时刻对同一个远程 CPU 的多个 PUT/GET 指令的调用,只会占用本地 CPU的一个主动连接资源和远程 CPU的一个被动连接资源。本地 CPU 与远程 CPU之间只会建立一条连接通道,同一时刻触发的多个 PUT/GET 指令将会在这条连接通道上顺序执行。
- 同一时刻Z多能对8个不同 IP 地址的远程 CPU 进行 PUT/GET 指令的调用,第9个 远程CPU的PUT/GET 指令调用将报错,无可用连接资源。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
3、8 个PUT/GET 被动连接资源
- S7-200 SMART CPU 调用 PUT/GET 指令,执行主动连接的同时也可以被动地被其他远程 CPU 进行通信读写。
- S7-200 SMARTZ多可以与被8个不同 IP 地址的远程 CPU 进行 建立被动连接。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
指令编程举例
在下面的例子中,CPU1 为主动端,其 IP 地址为192.168.2.100,调用 PUT/GET 指令;CPU2 为被动端,其 IP 地址为192.168.2.101,不需调用 PUT/GET 指令,网络配置见图 1 。通信任务是把 CPU1 的实时时钟信息写入 CPU2 中,把CPU2 中的实时时钟信息读写到 CPU1 中。
![](http://item.yiqi.com/pic/ConPic/2/pic9.jpg)
图 1 CPU通信网络配置图
1、CPU1 主动端编程
CPU1 主程序中包含读取 CPU 实时时钟、初始化 PUT/ GET 指令的 TABLE 参数表、调用 PUT 指令和 GET 指令等。
网络1:读取 CPU1 实时时钟,存储到 VB100 ~ VB107 。
![](http://item.yiqi.com/pic/ConPic/2/pic10.jpg)
图 2 读取 CPU1 实时时钟
注:READ_RTC 指令用于读取 CPU 实时时钟指令,并将其存储到从字节地址 T 开始的 8 字节时间缓冲区中,数据格式为 BCD 码。
网络2:定义 PUT 指令 TABLE 参数表,用于将 CPU1 的VB100 ~ VB107 传输到远程 CPU2 的VB0 ~ VB7。
![](http://item.yiqi.com/pic/ConPic/2/pic11.jpg)
图 3 定义 PUT 指令 TABLE 参数表
- a.定义通信状态字节
- b.定义 CPU2 IP 地址
- c.定义 CPU2 的通信区域 ,从 VB0 地址开始
- d.定义通信数据长度
- e.定义 CPU1 的通信区域,从 VB100 地址开始
西门子4-64 Mbyte
定义 PUT 操作
- a. 选择操作类型,PUT 或 GET
- b. 通信数据长度
- c. 定义远程 CPU 的 IP 地址
- d. 本地 CPU 的 通信区域和起始地址
- e. 远程 CPU 的 通信区域和起始地址
![](http://item.yiqi.com/pic/ConPic/2/pic18.jpg)
图 4 定义 GET 操作
- a. 选择操作类型,PUT 或 GET
- b. 通信数据长度
- c. 定义远程 CPU 的 IP 地址
- d. 本地 CPU 的 通信区域和起始地址
- e. 远程 CPU 的 通信区域和起始地址
4、定义PUT/GET 向导存储器地址分配(见图 5)。
图 5 分配存储器地址
注: 点击“建议”按钮向导会自动分配存储器地址。需要确保程序中已经占用的地址、PUT/GET 向导中使用的通信区域与不能存储器分配的地址重复,否则将导致程序不能正常工作。
5、在 图 5 中点击“生成”按钮将自动生成网络读写指令以及符号表。只需用在主程序中调用向导所生成的网络读写指令即可(见图 6)。
![](http://item.yiqi.com/pic/ConPic/2/pic6.jpg)
图 6 主程序中调用向导生成的网络读写指令
PUT/GET 向导例程
西门子4-64 Mbyte
西门子400内存卡/参数/选型
也可以将西门子400plc存储卡数据的地址值传入子程序(&VB100)