| 注册| 产品展厅| 收藏该商铺

行业产品

当前位置:
上海卓曙自动化设备有限公司>>西门子PLC模块>>西门子S7-1500模块>> 西门子S7-1500PLC模块福建代理商

西门子S7-1500PLC模块福建代理商

返回列表页
  • 西门子S7-1500PLC模块福建代理商
  • 西门子S7-1500PLC模块福建代理商
  • 西门子S7-1500PLC模块福建代理商
  • 西门子S7-1500PLC模块福建代理商
  • 西门子S7-1500PLC模块福建代理商
收藏
举报
参考价 322
订货量 1
具体成交价以合同协议为准
  • 型号
  • 品牌 Siemens/西门子
  • 厂商性质 经销商
  • 所在地 上海市
在线询价 收藏产品

更新时间:2019-06-19 15:20:46浏览次数:421

联系我们时请说明是化工仪器网上看到的信息,谢谢!

同类优质产品

更多产品

产品简介

电动机功率 3kW 外形尺寸 4mm
应用领域 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 重量 2kg
西门子S7-1500PLC模块福建代理商
全新的西门子S7-1500PLC 带来了标准型,紧凑型,分布式以及开放式不同类型的 CPU 模块。凭借快速的响应时间、集成的 CPU 显示面板以及相应的调试和诊断机制,SIMATIC S7-1500 的 CPU *地提升了生产效率,降低了生产成本。

详细介绍

西门子S7-1500PLC模块福建代理商

 

 由于同一个逻辑块能够多次被重复调用,以分别控制工艺过程相同的不同对象。因此,在编写程序之前,必须在变量声明表中定义形式参数,当用户程序调用该块时,要用实际参数给这些参数赋值。具体步骤如下:

    ①创建或打开一个功能(FC)或功能块(FB)

    ②如图5-16所示,在变量声明表内,首先选择参数接口类型(INOUTIN_OUT),然后输入参数名称(如SB1SB2KM),再选择该参数的数据类型(有下拉列表),如果需要,还可以为每个参数分别加上相关注解。

    一个参数定义完成后,按Enter键即出现新的空白行。

    值得注意的是,用户只能为功能( FC)或功能块(FB)定义形式参数,将功能(FC)或功能块( FB)为可分配参数的块,而不能将组织块(OB)为可分配参数的块。由于组织块(OB)直接由操作系统调用,因此在用户程序中不出现对组织块的调用,不可能传送实际参数。

    形式参数有3种不同的接口类型:IN用来声明输入型(只读型)参数;OUT用来声明输出型(只写型)参数;既有读访问(被指令AOL查询),又有写访问(由指令SRT赋值)的形式参数,必须将它定义为IN_OUT型参数。

    另外还有一个RETURN参数,它是依据IEC 61131 -3额外定义的有特殊名称的参数,该参数仅存在于FC的接口中。

(1)定义临时变量

    在使用临时变量之前,必须在块的变量声明表中进行定义,在TEMP行中输入变量名和数据类型,临时变量不能赋予初值。

    当完成一个TEMP行后,按Enter键,一个新的TEMP行添加在其后。L Stack的地址由系统赋值并在Address栏中显示。在功能FC1的局部变量声明列表中定义了一个临时变量result,如图5-13所示。

    (2)访问临时变量

    在图5-13中,Network 1为一个用符号地址访问临时变量的例子。加运算的结果被存储在临时变量# result中。当然,也可以采用地址来访问临时变量(如T LW0),由于这样会使程序的可读性变差,所以不要采用地址。

    在引用局部变量时,如果在块的变量声明表中有这个符号名,STEP 7自动在局部变量名之前加一“#”号。如果要访问与局部变量重名的全局变量(在符号表内声明),则必须使用双引号(如“symbol name”),否则,编辑器会自动在符号前加上“#”号,当作局部变量使用。因为程序编辑器在检查全局符号表之前先检查块的变量声明表。

    ①查看局部数据堆栈的占用情况。每个程序处理级(如OB1和它的所有嵌套的块),占用L stack的特定区域,这个区域有容量限制。例如,CPU 314可使用L Stack中的256 B,这意味着OB1OB1调用的所有嵌套的块的局部变量,可使用256 B

    SIMATIC管理器中选中Block文件夹,执行菜单命令Options(选项)→Reference Data(参考数据)→Display(显示),然后选择Program Structure单选项,如图5-14所示,即可在参考表内查看局部数据的占用情况。

    程序执行过程中,如果所使用的局部数据超出了大限额,则CPU进入STOP模式,并将错误信息STOP caused by error when allocating local data记入diagnostics buffer(诊断缓冲区)中。

    ②显示所需字节数。在块的属性中,用户可以看到块所需要的局部数据区的字节数,如图5-15所示。在SIMATIC管理器中,用鼠标右键选中块,然后在菜单中选择Object Properties(目标属性)选项。或在SIMATIC管理器中,用鼠标左键选中块,然后执行菜单命令Edit(编辑)→Qbject Properties(目标属性)选项。

    对于S7-300,操作系统分配给每一个执行级(OB)的局部数据区的大数量为256 BOB自己占去20 B22 B,还剩下多234 B可分配给FCFB。如果块中定义的局部数据的数量大于256 B,该块将不能下装到CPU中。在下装过程中将出现错误提示:The block could notbe copied。如果单击错误信息框中的Details按钮,将弹出帮助信息:Incorrect local data length

在打开一个逻辑块之后,所打开逻辑块的右窗口,其上半部分将包括块的变量列表区和变量详细列表区,而其下半部分是程序编辑区

    对逻辑块编程时必须编辑下列三个部分。

    ①变量声明:分别定义形参、静态变量和临时变量(FC块中不包括静态变量);确定各变量的声明类型( Decl)、变量名(Name)和数据类型(Data Type),还要为变量设置初始值(Initial Value)。如果需要还可为变量注释(Comment)。在增量编程模式下,STEP 7将自动产生局部变量地址( Address)

    ②程序编辑:在程序编辑区中,对将要由PLC进行处理的块代码进行编程。它由一个或多个程序段组成。要创建程序段,可使用各种编程语言,如梯形逻辑图( LAD)、功能块图(FBD)或语句表(STL)

    ③块属性:块属性包含了其他附加的信息,如由系统输入的时间标志或路径。此外,也可输入相关详细资料,如名称、系列、版本及作者名等,还可为这些块分配系统属性。

  CPU提供块堆栈(B堆栈)用来存储与处理被中断块的有关信息。当发生块调用或有来自更高优先级的中断时,就有相关的块信息存储在B堆栈里,并影响部分内存和寄存器。

    (1)用户程序使用的堆栈

    5-8CPU中的一块特殊的存储区,采用“先入后出”的规则存入和取出数据。堆栈中上面的存储单元称为栈顶,要保存的数据从栈顶“压入”堆栈时,堆栈中原有的数据依次向下移动一个位置。在取出栈顶的数据后,堆栈中所有的数据依次向上移动一个位置。堆栈的这种“先入后出”的存取规则刚好满足块的调用(包括中断处理时块的调用)要求。因此堆栈在计算机的程序设计中得到了广泛的应用。

    ①局部数据堆栈(L堆栈)。各逻辑块都有它的局部变量(L)存储区,局部变量在逻辑块的变量声明表中生成,只在它被创建的块中有效。局部数据堆栈简称L堆栈,是CPU中单独的存储器区,可用来存储逻辑块的局部变量、组织块的起始信息)、块与块之间传递参数的信息、梯形图程序中的中间逻辑结果等。局部数据可以按位、字节、字和双字来存取,如L0.0LB9LW4LD52,见表5-7

    5-7    全局变量与局部变量

全局变量与局部变量

    如果在逻辑块中使用局部变量,不使用地址或全局符号,不做任何改动,就可以将子程序移植到别的项目中去。局部数据堆栈用来储存块的局部数据区的临时变量、组织块的启动信息、块传递参数的信息和梯形图程序的中间结果。

    CPU分配给当前正在处理的块的临时局部变量的存储器容量是有限的,这一存储区(即局部堆栈)的大小与CPU的型号有关。CPU给每一优先级分配了局部数据区,这样可以保证不同优先级的OB都有它们可以使用的局部数据空间。

    在图5-9中的OB1调用功能FC2的执行被组织块OB81中断,图5-9中给出了局部数据堆栈中局部数据的存放情况。

    在局部数据堆栈中,并非所有的优先级都需要相同数量的存储区。通过在STEP 7中设置参数,可以给S7-400 CPU的每一优先级不同大小的局部数据区。S7-300 CPU每一优先级的局部数据区的大小是固定的。

    ②块堆栈(B堆栈)。如果一个块的处理由于调用另外一个块,或者被更高优先级的OB块中止,则CPU将在块堆栈中存储以下信息。

    ·被中断的块的类型(OBFBFCSFBSFC)、编号和返回地址。

    ·从DBDI寄存器中获得的块被中断时打开的共享数据块和背景数据块的编号。

    ·局部数据堆栈的指针。

    利用这些数据,可以在中断它的任务处理完后恢复被中断的块的处理。在多重调用时,堆栈可以保存参与嵌套调用的几个块的信息。

    CPU处于STOP模式时,可以用STEP 7查看块堆栈中保存的进入STOP模式时没有处理完的块,在块堆栈中,块按照它们被处理的顺序排列,如图5-10所示。

    每个中断优先级对应的块堆栈可以储存的数据的字节数与CPU的型号有关。

    ③中断堆栈(I堆栈)。如果程序的执行被优先级更高的OB中断,操作系统将保存下述寄存器的内容,包括当前的累加器和地址寄存器的内容、数据块寄存器DBDI的内容、局部数据的指针、状态字、MCR(主控继电器)寄存器和块堆栈的指针。

    新的OB执行完后,操作系统读取中断堆栈中的信息,从被中断的块被中断的地方开始继续执行程序。

    CPUSTOP模式时,可以用STEP 7在模块信息中查看中断堆栈保存的数据,由此打出使CPU进入STOP模式的原因。

    (2)功能块与功能的调用时的堆栈操作

    CPU提供块堆栈(B堆栈)用来存储与处理被中断块的有关信息。当发生块调用或有来自更高优先级的中断时,就有相关的块信息存储在B堆栈里,并影响部分内存的寄存器。图5-10显示了调用块时B堆栈的变化。图5-11提供了关于STEP 7的块调用情况。

    ①调用功能块FB时的堆栈操作。当调用功能块FB时,会有以下事件发生。

    ·调用块的地址和返回位置存储在块堆栈中,调用块的临时变量压入L堆栈。

    ·数据块DB寄存器内容与DI寄存器内容交换。

    ·新的数据块地址装入DI寄存器。

    ·被调用块的实参装入DBL堆栈上部。

    ·当功能块FB结束时,先前块的现场信息从块堆栈中弹出,临时变量弹出L堆栈。

    ·DBDI寄存器内容交换。

    当调用功能块FB时,STEP 7并不一定要求给FB的形参赋予实参,除非参数是复合数据类型的I/O形参或参数类型形参。如果没有给FB形参赋予实参,则功能块FB就调用背景数据块内的数值,该数值是在功能块的变量声明表内或背景数据块内设置的形参初始数值。

    ②调用功能FC时的堆栈操作。当调用功能FC时会有以下事件发生。

    ·功能FC实参的指针存到调用块的L堆栈。

    ·调用块的地址和返回位置存储在块堆栈,调用块的局域数据压入L堆栈。

    ·功能FC存储临时变量的L堆栈区被推入L堆栈上部。

    ·当被调用功能FC结束时,先前块的信息存储在块栈中,临时变量弹出L堆栈。

    因为功能FC不用背景数据块、不能分配初始数值给功能FC的局域数据,所以必须给功能FC提供实参。

    STEP 7为功能FC提供了一个特殊的返回值输出参数(关键字为RET_VAL)。当用STEP 7的程序编辑器(Program Editor)以增量模式创建功能FC时,可在FC的变量声明表中一个输出参数RET_VAL,并指明其数据类型。


西门子S7-1500PLC模块福建代理商

收藏该商铺

登录 后再收藏

提示

您的留言已提交成功!我们将在第一时间回复您~
二维码 意见反馈
在线留言