6GK1561-1AA01/原装总代理
- 供应商
- 浔之漫智控技术(上海)有限公司
- 认证
- 品牌
- 西门子
- 型号
- PLC
- 售后
- 代理商
- 联系电话
- 18717946324
- 手机号
- 18717946324
- 联系人
- 占雪芬
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213
- 更新时间
- 2024-08-27 08:00
6gk1561-1aa01/原装总代理
我公司主营西门子各系列plc (s7-200 smart s7-300 s7-400) 触摸屏 变频器 (mm系列 g120 g120c g110) 伺服 (v80 v60) 数控备件 (pcu50 ncu ccu 轴卡) 等 价格优势 产品为西门子原装正版产品 我公司售出的产品 按西门子标准质保 产品本身有质量问题 质保一年 公司秉承:以信待人 以诚待人 质量如生命 客户至上的经营理念 竭诚为您服务您的肯定是我们*大的动力 我们将期待与您长期持久的合作
程序监控与调试:通过个人计算机运行编程软件step 7 micro-win4.0,在软件中应用程序监控功能和状态监视功能,监测plc中的各按纽的输入状态和继电器的输出状态。
5、电机的正反转控制项目结果分析表:注意在硬件接线中必须实现互锁!在plc的梯形图中也应实现互锁。试分析仅在梯形图中实现的互锁能否真正避免电源的短路?
有电机的正反转控制项目的基础,可以进一步用西门子s7-200实现小车往返的自动控制。控制过程为:按下启动按钮,小车从左边往右边(右边往左边运动)当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动。如此的往返运动,直到当按下停车按钮后小车停止运动。
设计思路:可以按照电气接线图中的思路来进行编写程序。即可以利用下一个状态来封闭前一个状态。使其两个线圈不会同时动作。同时把行程开关作为一个状态的转换条件。电气接线图如下:
在s7-200编程中,子程序想必大家都用过,使用子程序可以更好地组织程序结构,便于阅读和调试,也可以缩短程序代码。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器之外,还有子程序中局部变量的特点,在编程多次调用带参数子程序时要特别注意。下面就是前些天热线上遇到的一个case,非常有代表性,在这里跟大家分享。
e:您好,西门子技术支持。
c:您好,我想问下,200子程序是不是多次调用时会不好使?
e:不会啊,您是不是在子程序里使用了沿指令或者定时器?
c:没有啊,我就编了一句很简单的开关程序,开关闭合,线圈导通,然后主程序里调用了两次这个子程序,结果第一个i点闭合了,两个q点都导通了。
e:(心里活动:看来是和子程序的局部变量有关了,估计客户程序逻辑有问题)那请您描述一下您的子程序吧,我帮您看看。
于是客户描述了一下自己的程序,大致了解了之后告知客户我这边测试下,稍后回复。
客户的程序是这样的:
子程序:是个常见的自保持逻辑,接口参数如红框所示。
为什么会这样呢?首先我们先明确子程序局部变量的特点。局部变量的变量类型分为四种: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。所以就会出现客户反映的那种问题。
那么该如何避免这种情况呢?
大家是否还记得刚刚介绍局部变量参数类型时除了in,out类型外,还有一种类型叫in_out,这种类型的参数是先读入,然后再写出,这里我们就可以利用它的特点解决上面的问题。
下面对子程序的参数进行修改,将原先的#cc变量类型改为in_out。如下图所示:
展开全文