S7-300
实验四 STL编程实战
1) 目的
掌握参数调用DB,STL运用
2) 实验内容
①设计一个FC111,它具有两个输入参数:源DB块号和目标DB块号。实现在OB1中调用FC111时,只需输入两个DB块号,就能实现从源DB中传输指定偏移地址和长度的数据到目标DB的指定偏移地址开始的区域中;
②源数据区与目标数据区大小、数据结构相同。
③传输过程中,将数据依次按照位、字节、字、双字等四种基本格式传输。
④具体要求:把源DB块从起始字节开始移动450个位到目标数据块的从第3个字节开始的区域。把源DB块从第75个字节开始移动123个字节到目标数据块,地址紧接着前一区域。把源DB块从第266个字开始移动99个字到目标数据块,地址紧接着前一区域。把源DB块从第400个字节开始移动13个双字到目标数据块,地址紧接着前一区域。
⑤源DB和目标DB全部要求为长度1000的Byte。
3) 实验流程
创建DB2,作为源DB
在DB2中定义1个包含1000个BYTE的数组型变量,并赋值如下,如下图所示。
图1-源DB创建
创建DB3,作为目标DB
在DB3中定义1个包含1000个BYTE的数组型变量,该数组的1000字节初始值为0,如下图所示。
图2-目标DB创建
新建FC111
在FC111的接口处定义输入参数,数据类型为INT,定义两个输入管脚DB号如下图所示。
图3-定义输入参数
在FC111的接口处定义TEMP参数,数据类型为INT,如下图所示。
图4-定义TEMP参数
FC111编程
根据实验内容,在FC111中编程。
首先打开源DB和目标DB,如下图所示。
图5-打开源DB和目标DB
再初始化,用MD50和MD54用来装指针,NUM用来计数:
图6-初始化
然后是按位传输,编程如下图所示。
图7-按位传输
按字节传输
初始化,编程如下图所示。
图8-初始化
然后按字节传输,如下图所示。
图9-按字节传输
按字传输
初始化,编程如下图所示。
图10-初始化
最后是按字传输编写程序,如下图所示。
图11-按字传输
按双字传输
初始化,编程如下图所示。
图12-初始化
最后是按双字传输的程序,如下图所示。
图13-按双字传输
保存编译并下载到PLCSIM中,监视DB2中的数据是否移动到DB3中。
在源DB(DB2)中该数组的值均为11,如下图所示。
图14-源DB数值
监视到目标DB(DB3)中数据已经移动成功,如下图所示。
图15-位传递结果
图16-字节传递结果
图17-字传递结果
图18-双字传递结果
4)总结
1、注意运用资料,不懂多多查询如同STEP7编程指南等书籍,其中今天寻址这章在P170页,很多指令的运用都是可以查询的。
敬请期待下一篇-开关量和模拟量输入输出
PS:友情提醒,所有文章都是一个系列,是连贯的,顺着看效果更好~
作者简介
谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生
本文为原创文章,于头条首发,欢迎关注转载,请注明出处和作者!