6ES7518-4AP00-0AB0安装调试

6ES7518-4AP00-0AB0安装调试

发布商家
浔之漫智控技术-西门子PLC代理商
联系人
聂航(先生)
电话
15221406036
手机
15221406036
微信
15221406036
价格
¥666.00/件

6ES7518-4AP00-0AB0安装调试

概述

I/O 模块是 SIMATIC S7-1500 与过程之间的接口:

在S7-200编程中,子程序想必大家都用过,使用子程序可以更好地组织程序结构,便于阅读和调试,也可以缩短程序代码。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器之外,还有子程序中局部变量的特点,在编程多次调用带参数子程序时要特别注意。下面就是前些天热线上遇到的一个Case,非常有代表性,在这里跟大家分享。
E:您好,西门子技术支持。
C:您好,我想问下,200子程序是不是多次调用时会不好使?
E:不会啊,您是不是在子程序里使用了沿指令或者定时器?
C:没有啊,我就编了一句很简单的开关程序,开关闭合,线圈导通,然后主程序里调用了两次这个子程序,结果个I点闭合了,两个Q点都导通了。
E:(心里活动:看来是和子程序的局部变量有关了,估计客户程序逻辑有问题)那请您描述一下您的子程序吧,我帮您看看。
于是客户描述了一下自己的程序,大致了解了之后告知客户我这边测试下,稍后回复。
客户的程序是这样的:
子程序:是个常见的自保持逻辑,接口参数如红框所示。

图. 01
主程序:调用了两次上面的子程序,实现I0.0和I0.1控制Q0.0的闭合和断开,I0.2和I0.3控制Q0.1的闭合和断开。

图. 02
那么在线测试下程序执行情况,发现果然如客户所描述的,I0.0为1后,Q0.0和Q0.1都为1了。见下图.03所示。而如果闭合I0.2,则Q0.0和Q0.1都断开。

图. 03
为什么会这样呢?首先我们先明确子程序局部变量的特点。局部变量的变量类型分为四种:IN,IN_OUT,OUT和TEMP,局部变量存储区是在子程序调用时开辟的,子程序调用完成,局部变量占用的存储空间释放。
我们来分析下客户的子程序。
在主程序次调用子程序时,如果I0.0为1,I0.1为0,它们将自身值分别传给输入局部变量#AA和#BB,子程序中程序逻辑执行如下图.04所示。此时局部变量#CC值为1,子程序完成,#CC将值传送到输出参数Q0.0上,使其置1。根据局部变量的特点,子程序次调用完成后,局部变量存储区释放。

图.04

那么当主程序第二次调用该子程序时,开辟临时存储空间,但是此时的存储空间与次调用时开辟的不一定一致。可是,也有可能由于程序简单,仍然使用次调用时占用的存储空间。如果这种情况发生了,那么次调用时已经将#CC的L0.2置了1,而此值依旧存在,那么第二次调用时虽然输入参数I0.2和I0.3为0 ,但是#CC(L0.2)为1,由于客户的子程序逻辑有自保持部分,所以后L0.2的逻辑结果仍然是1。子程序完成后,#CC将值传送到输出参数Q0.1上,使其置1。所以就会出现客户反映的那种问题

首先我们来介绍一下F381点动控制指令,此指令使用起来很方便。我们只需指定相关的控制轴编号,然后指定旋转方向即可。如下图所示:


F381点动控制指令
位置控制重要的就是走位置,那么我们又该如何启动我们的位置控制表格呢?这时候我们需要使用F380位置控制指令了,这个指令单独使用起来也很简单,只要我们指定相应的轴号,相应的数据表编号,和是否进行脉冲输出的指定即可。指令形式如下图所示:


F381位置控制指令
如果是控制轴,那么回原点动作是必不可少的。我相信小伙伴们在以前的回原点程序上一定会感到头痛,因为我们需要考虑的很多,要做各种的判断。而我们所要介绍的回原点,特别简单,仅仅只需要1条指令即可完成,不可不谓是方便快捷。这条指令只需要我们指定要回原点的轴号即可。其他数据我们可以现在数据表中设置好。其指令格式如下:


F381回原点指令
当然了,我们除了能够执行事先设置好的表格外,我们怎么在程序中对表格中的数据进行更改呢?这就不得不提起F385指令了。他可以改变我们已经在数据表中设置的数据,以达到我们想要的运行效果。指令格式如下图所示:


F385数据表改写指令
对于F385指令,我想说的是运用此指令,根据我们的使用手册上每个轴设定区域所对应的地址,我们都可以改写其中的数据。如,我们若是想改变0轴点动运行的速度。我们需要将S1=H2,S2=DT100(DT100中为我们设定的速度值),n=2,因为速度占用2个字,D=16,16为偏置地址,根据使用手册可查询。
后一个就是轴信息的读取指令了,这个指令的使用方法和F385基本一致。我们一般使用此指令用来读取脉冲的当前值。其指令格式如下:


F384数据表读取指令
运用此指令我们可以读取我们想要了解的轴的信息。例如我们想要知道0轴的当前脉冲数,我们需要将S1=H1,S2=2(根据使用手册可以查出偏置地址),n=2(因为当前脉冲数占用两个字),D=DT1000(DT1000是我们要保存的当前脉冲值得起始地址)。


人气
39
发布时间
2023-06-21 01:24
所属行业
PLC
编号
31655288
我公司的其他供应信息
相关安装调试产品
拨打电话
微信咨询
请卖家联系我