西门子6ES7241-1AA22-0XA0参数选型
1. 本例功能介绍
由于cpu 的数据容量有限,可以把cpu 的数据存放于mmc 中,并对其中数据进行读写操作,典型应用为数据配方功能,这些数据可以只存于mmc (load memory) 中,而不占cpu 的容量(working memory),当需要使用时可通过程序读写。注意 mmc的存储次数为100000 次。
2. 示例系统的体系结构
图 0 本例中选用一个s7-300 cpu314c-2dp, 并插入mmc 卡
3. 本例需要的设备
a. 需要软件
step7 v5.2或以上版本
b. 需要硬件
1. 一个s7-300 cpu314c-2dp
2. 带有cp5611 的 field pg 710
3. 512k mmc 卡
4. 只在mmc 中创建数据块
4.1 方法1:在step7 中手动创建只存于mmc 的数据块
打开step7,创建一个新的项目,在“blocks”插入数据块,例如db1,点右键打开属性窗口,选择“unbbbbed” ,这样db1将只存于mmc 中。
图 1
4.2 方法2: 在程序中创建只存于mmc 的数据块
在ob1 中调用sfc82
图 2
这样m0.1 为1 时,将在mmc 中创建db2,3,4,5,6。每个db 块容量为16k ,当mw4 等于5时,完成创建工作,用户应复位m0.1。
图 3
5. 读写mmc 的数据
5.1 写数据到mmc 卡中,调用sfc84
图 4
m0.2 为1 时,cpu 中的数据源db10.dbb0~9 10 个字节将写到已经在mmc 中创建好的db2.dbb0~9 中,m1.2 为1 mw6 为w#16#7002 时,用户将复位m0.2 。
5.2 读mmc 中的数据到cpu 中,调用sfc83
图 5
m0.3 为1 时,mmc 卡中的数据源db2.dbb0~9 10 个字节将读到cpu db10.dbb10~19 中,m1.3为1,mw8 为w#16#7002 时,用户将复位m0.3。
用运算放大器模拟被控对象一般需要做印刷电路板,还是比较麻烦。有没有更简单的方法呢?
模拟被控对象,关键是用来模拟的工具的传递函数要和实际的被控对象相同。被控对象一般是串联的惯性环节和积分环节的组合。除了用运算放大器来模拟被控对象的传递函数,也可以用的程序来模拟。为此我编写了用来模拟被控对象的s7-200的子程序,它也可以用于s7-200smart。使用模拟的被控对象的pid闭环示意图如下图所示,虚线右边是被控对象,disv是系统的扰动输入值。虚线左边是plc的pid控制程序。
被控对象的数学模型为3个串联的惯性环节,其增益为gain,3个惯性环节的时间常数分别为tim1~tim3。其传递函数为
分母中的“s”为自动控制理论中拉普拉斯变换的拉普拉斯算子。将某一时间常数设为0,可以减少惯性环节的个数。图中被控对象的输入值inv是pid控制器的输出值。被控对象的输出值outv作为pid控制器的过程变量(反馈值)pv。
下图是模拟被控对象的子程序,下图是模拟被控对象的子程序,用与pid的采样周期相同的定时中断时间间隔来调用这个子程序。用与pid的采样周期相同的定时中断时间间隔来调用这个子程序。
下图是用来监视pid回路运行情况的step7-micro/win的pid调节控制面板,可以用它进行pid参数自整定或手动调节pid参数的实验。标有pv的是过程变量(即被控量)的阶跃响应曲线。
将上图中的积分时间由0.03min(分钟)增大到0.12min,下图的超调量有明显的减小。通过修改pid的参数,观察被控量阶跃响应曲线给出的超调量和调节时间等特征量的变化情况,可以形象直观、快速地学习和掌握pid参数的整定方法。
属性为“仅存储在装载内存中”的数据块(无链接的 db)不占用控制器主存储器的任何空间,只使用 cpu装载存储器的存储空间。适合存储控制器程序中不经常使用的大容量的数据。s7-1200 从固件版本 v2.0并且step 7v11+sp2 开始可以使用这些db。
例子
因为主存储器只有有限的存储空间,对于处方的应用,例如,具有不同处方值多重数据块只能存储在装载存储器中。这样,在主存储中只有一个工作db 包含当前的处方。如果上面提到的 db 配置和装载进 cpu,这些数据块只存储在 cpu的装载存储器中,不占用主存储器的任何空间。
图. 01
图. 01 显示了装载存储器中非链接 db 与主存储器中相应次序 db 之间数据传递的示例。使用下面两个功能块进行数据传递:
read_dbl:从装载存储器中读数据块
writ_dbl:将数据块写入装载存储器
下面的表格说明了怎样创建一个无链接的db过程。
步骤 | 过程 |
1 | 必须条件: 固件版本v2.0以上的1200cpu。 step 7v11+sp2或更高 |
2 | 在 step 7 v11项目中打开项目导航,双击“添加新设备” 功能。 |
3 | 在“添加新设备”对话框中选择simatic s7-1200 cpu (例如cpu 1214c dc/dc/rly),“ok”确认。 |
4 | 打开新创建的文件夹,在“程序块”下添加全局db。 |
5 | 新的全局 db在块文件夹中创建后,右击数据块,在弹出的菜单中选择“属性...”。 |
6 | 在打开的对话框中选择“属性”标签,使能“仅存储在装载内存中”。使用 ok 确认。
图. 02 注意 对于更深入的应用,存储在全局库中创建的非链接的 db 是有帮助的。通过这种方式可以在其他项目中使用此元素。 |