淮安西门子模块代理商

   2023-02-26 65

淮安西门子模块代理商

S7-1200 间接寻址指令的应用


S7-1200的间接寻址需要通过数据块中的数组来实现。指令FieldRead通过索引(又称为下标)变量从数组中读取数值,指令FieldWrite 通过索引变量向数组中写数值,使用这两条指令可以实现间接寻址。

  索引变量是间接寻址中的地址指针,它的值是要读写的数组元素的索引值。地址指针就像收音机调台的指针,改变指针的位置,指针指向不同电台。改变地址指针中的索引值,指针“指向"数组不同的元素。间接寻址的优点是可以在程序处理期间,通过改变指针的值动态地修改指令中的地址。

  首成一个名为“数据块1"的全局数据块DB2,在数据块中生成名为“数组1"的数组Array[1..10] of Int,其元素的数据类型为Int。

  这两条指令没有列入指令列表和指令列表,编程时将收藏夹中的空逻辑框插入程序,点击其中红色的“??",打开下拉式列表框,可以看到列表框底部的指令FieldWrite或FieldRead。点击生成的指令框中的“???",用列表设置要写入或读取的数据类型为Int(见下图)。两条指令的参数MEMBER的实参必须是数组的个元素“数据块1".数组1[1]。

  指令的输入参数索引值“INDEX"是要读写的数组中的元素的下标,数据类型为DINT(双整数)。参数“VALUE"是要写入数组元素的值或要读取的数组元素的值。

  下图中的FieldWrite指令将常数25写入数组1中的元素“数组1[3]"。FieldRead指令读取数组元素“数组1[3]"的值,将它保存到MW20。改变INDEX的值,可以读写别的数组元素的值。

2011314103444935.jpg



西门子 S7-1500 PLC 产品应用

SIMATIC S7-1500控制器提供了更高性能,位指令的处理时间低至1ns,浮点运算的指令处理时间低至10ns(取决于CPU类型,这在次上市发布的产品中是不可能的)。背板总线的速度是S7-400PLC的40倍;由于代码生成得到优化,CPU的响应速度与现有控制器的CPU相比更快。
每个CPU都配有一个PROFINET IO (2端口换机)标准接口。CPU 1516-3PN/DP还具有一个集成PROFINET基本接口,例如,可用于网络隔离。
除集成接口外,每个SIMATIC S7-1500控制器还可通过通信模块或通信处理器进行扩展。这样就提供了很多其它连接方法,例如,通过PROFIBUS进行连接,通过以太网进行连接,或通过采用协议USS或Modbus RTU的串行接口进行连接。
集成技术
SIMATIC S7-1500可以不使用任何附加模块而在PLC中集成运动控制功能。通过PLCopen,该控制器提供了标准化的块,可用来连接模拟驱动器和PROFIdrive驱动器。运动控制功能支持转速轴和定位轴以及外部编码器。
为了有效调试和快速优化驱动器和闭环控制器,SIMATIC S7-1500还针对所有CPU变量提供了广泛的跟踪功能,既可用于实时诊断,又可用于不定时故障检测。
除驱动器功能外,S7-1500还提供了丰富的闭环控制功能,例如,可通过便于组态的块来自动优化控制参数以获得控制质量。
还可利用工艺模块来执行高速计数、位置捕获等功能,或针对24V直至200kHz的信号执行测量。
集成了安全功能
与STEP7结合使用时,每个CPU都会提供基于密码的知识保护,可防止未经*而读出并更改程序块的内容。
复制保护加强了安全防护,防止未经*而复制程序块。可以将具体程序块链接至存储卡的序列号,以便只有在将组态的存储卡插到CPU中之后,才会执行该程序块。
并且,控制器具有四个不同的安全访问级别,以便向不同用户组分配不同的访问权限。
由于操作保护得到改进,控制器可以检测到数据更改或未经*的组态数据传输。
以太网通信处理器(CP 1543-1)通过防火墙为用户提供了附加访问保护,并可建立安全连接(V12SP1及更高版本)。
设计与操作
所有SIMATIC S7-1500 CPU都配有一个显示屏。通过该显示屏,用户可以读取所连接的任何模块的订货号、固件版本和序列号等信息;无需使用编程设备,即可在本地调整CPU的IP地址以及其它网络设置。
错误消息以普通文本形式显示在显示屏上,从而有助于缩短停机时间。
所有模块采用统一的前连接器,集成式电压跳线可形成灵活的电压组,简化了库存。
由于S7-1500安装导轨中集成了标准安装导轨,可方便地安装自动熔断器、继电器等附加组件。
在集中配置中,可通过信号模块对SIMATIC S7-1500控制器进行扩展。这样,通过节省空间的扩展,就可以灵活适应每种应用。在将此款控制器推向市场时,市场上已有各种不同的模拟量和数字量模块。
使用用于数字量信号模块的系统电缆套件,可以快速、清晰地连接现场传感器和执行器(*模块化连接,包括前连接器模块、连接线和连接模块以及在开关柜内进行简便接线(灵活连接,包括带有预组装的单线芯的前连接器。
还为S7-1500提供了用于为模块提供24V电压的电源模块以及为内部模块电路供电的系统电源。
通过用于ET 200MP I/O系统的IM 155-5 PROFINET接口模块,可以使用多达30个信号、通信和工艺模块。这样,S7-1500的组件和系统优点也适用于分布式配置。无论模块是在S7-1500控制器旁的一个集中配置中运行,还是在通过ET 200MP实现的分布式配置中运行,在操作和系统功能方面,用户都看不到任何差别。在这两种系统中采用的高性能背板总线都可缩短总线循环时间和响应时间,对于大型站配置以及很高的数量结构,也是如此。
集成系统诊断功能
集成系统诊断功能已针对S7-1500系列的CPU预先激活;系统诊断信息以普通文本形式统一显示在显示屏、TIAPortal、HMI和Web服务器上,甚至可显示来自变频器的消息;现在,在CPU停止运行期间也将提供这种诊断。若配置了新的硬件组件,则自动对诊断信息进行更新。
SIMATIC STEP 7 Professional V12工程组态软件
新的SIMATIC S7-1500控制器系列只能在Totally Integrated Automation Portal中使用STEP 7 ProfessionalV12及更高版本进行组态。SIMATIC STEP 7 Professional V12是用于对SIMATIC S7-1500进行直观处理的工程组态系统,除了对S7-1500进行组态外,还可对S7-300/400和S7-1200控制器进行组态。

3.内存优化
根据上述介绍的内容可以查看到实际控制器内存的分配和使用情况,在项目组态阶段,也可以参考表格1中的内容,按照如下方式计算、检查各部分的内存需求情况,并对其进行相应优化。

3.1 用户程序内存需求
在Simatic Manager中右键点击Blocks文件夹 bbbbbb Properties可以打开如下对话框,切换到Blocks页即可查询当前用户程序的内存需求情况。



图 6 用户程序内存需求情况

从上图中可以看到,用户程序所需装载内存为5354 bytes,系统数据(硬件组态)所需装载内存为7616 bytes,总和为12970 bytes,和CPU在线内存分配情况吻合(见上图 3 装载内存详细分配情况中load bbbbbbs所示)。用户程序所需工作内存代码部分为2682 bytes,所需工作内存数据部分为630 bytes,和CPU在线内存分配情况吻合(见上图 4 工作内存 Code部分详细分配情况中logic blocks部分所示和上图 5 工作内存Data部分详细分配情况中data blocks部分所示)。

3.2 工作内存数据部分 本地数据内存需求
控制器中的本地数据区用于存储各优先级中断运行的程序所需的临时数据,这部分存储空间是在控制器启动初始化时完成预留分配。各功能块所需的临时数据存储区大小可以通过功能块属性 General Part2中的Local data查询到,如下图所示。


图 7 功能块所需本地数据大小

控制器中按照中断的优先级的方式分配本地数据的大小,通过CPU的属性对话框 Memory中设置,下图所示本地数据离线设置为8192 bytes,与上图 5 工作内存Data部分详细分配情况中在线的Local data分配吻合。
离线程序中实际所需的本地数据可以参考如下连接文档进行计算:
80027837

按照实际程序所需的本地数据进行下图8所示的Local data的设置,可以优化内存的分配。


图 8 CPU本地数据分配

3.3 工作内存代码部分 通信作业内存需求
通信作业用于实现控制器和外围设备的通信功能,每个通信作业在内存中需要占用一定的存储空间,这部分存储空间是在控制器启动初始化时完成预留分配。离线的通信作业数可以参考上图 8 CPU本地数据分配中的Communication resources进行设置。此处为300个,参考表格1中的数据,每个通信作业需要分配72 bytes的空间,总共所需300*72 = 21600 bytes,与上图 4 工作内存 Code部分详细分配情况中在线的Communication jobs内存分配吻合。
PCS 7系统中可以通过Chart reference data的统计数据查询到离线程序所需的通信作业数,Step 7系统下则只有下载程序后通过上图4查询到。查询到实际程序所需的通信作业数后,预留一定余量后对图8进行设置,可以优化内存的分配。

3.4 工作内存代码部分 输入/输出映像区内存需求
输入/输出映像区为控制器预留的、用于存储I/O的映像数据的区间,控制器按照一定的机制进行I/O数据的动态更新,可以优化程序读取I/O的速度和性能。PCS 7中要求必须基于映像区的方式进行I/O信号的读取,冗余控制系统中也要求基于映像区的方式进行I/O信号的读取。这部分存储空间是在控制器启动初始化时完成预留分配。
通过CPU的属性对话框 Cycle/Clock Memory页面进行设置,如下图所示。


图 9 CPU过程映像区分配

此处为1000 Process image bbbbb/1000 Process image output,参考表格1中的数据,每个映像区字节需要分配12 bytes的空间,总共所需1000*12 = 12000 bytes输入/输出,与上图 4 工作内存 Code部分详细分配情况中Process-image bbbbbs、Process-image outputs内存分配吻合。


核心提示:西门子代理商,西门子PLC代理商,西门子中国代理商。西门子授权代理商,西门子一级代理商
 
标签: 电工电气,工控系统及装备,PLC
反对 0举报 0 收藏 0 打赏 0
 
同类新闻
  • 联系人:聂航
  • 电话:15221406036
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 手机:15221406036
我们的产品