仪器仪表工程专业评估西门子plc cpu226编程入门西

2020-02-01 11:24栏目:应用领域
TAG:

  三菱PLC编程实例和编程优化9篇_电子/电路_工程科技_专业资料。三菱PLC编程

  1.一个逻辑很强的程序 【Q】 检测出口温度来控制 20 个风扇, 温度高于设定值就启动一台风扇,一分钟后温度还高于设定值就启动下一台风 扇,。。。。一分钟后温度降到设定值以下就关闭一台风扇。 上面的动作容易实现,现在的问题是每个风扇都有手动和自动两个状态。 假如说现在 1,6,9,18,20。5 台在自动,其余手动 温度高于设定值启动 1,温度还高于设定值怎么才能跳过 2,3,4,5 直接启动 6 呢? 我考虑的是为每台风扇编号,首先检测哪几台在自动状态,然后控制,可是这样逻辑太复杂了 有没有简单的办法???? 【A】 fx3u 可以对位变址,程序比较简单,西门子plc通讯线那头接plc循环控制即可: FX2N 就要用移位,间接获得自动位, M0 仍为 1min 计时,M10~M29 为自动状态标识,M100~M119 为对应的风扇输出,其他为缓存位 : 1 2.三菱 PLC 程序动作分析 【Q】这是其中的一部分 为什么 C1 线圈已得电,可下面的 RST M100 却没有得电 这里的动作为什么是 M19 得电一次,M100 置位一次,M19 再得电一次,变复位一次。如此循环。我用的是在线 模拟,有关系吗? 【A】 考虑一个扫描周期内的状态: 首先 M100 是 OFF 的,C1 被 M100 的常闭触点一直复位中; M19 置 ON 后第一个扫描周期 第一句指令:当 M19 第一次为 ON 时,C0 计数到 1,线圈变为 ON; 第二句指令:C0 将 M100 置位为 ON; (注意此时程序还没有扫描到后面,C1 仍然是在被复位的状态。而内存中的 M100 状态已经由 OFF 变为 ON 了) 第三句指令:M100 将 C0 复位; 第四句指令:虽然 M19 和 M100 同时为 ON,但是因为 C1 仍在被复位的状态,所以此时没有计数。虽然输出线圈 显示为 ON 了,但计数值仍为 0; 第五句指令:C1 计数值为 0,未达到设定值 1,触点保持为 OFF,未能复位 M100; 第六句指令:M100 保持为 ON,未能继续复位 C1; 第二个扫描周期: 第一句指令:当 M19 仍为 ON 时,但 M100 也为 ON 了,所以 C0 不计数,保持上一次被复位的状态 OFF; 第二句指令:C0 状态为 OFF,对 M100 线 仍为 ON; 第三句指令:M100 继续将 C0 复位; 第四句指令:虽然 M19 和 M100 同时为 ON,但 C1 仍没有计数。因为计数器计数需要前边的条件状态有个 2 OFF----ON 的状态变化,而此时 M10 和 M100 保持了上一个扫描周期的状态,一直是 ON,没有变化,所以 C1 计数值保持为 0,虽然输出线圈的状态是 ON 的,但因实际计数值为 0,未达到 1,所以 C1 触点的状态仍为 OFF; 第五句指令:C1 保持为 OFF,未能复位 M100; 第六句指令:M100 保持为 ON,未能继续复位 C1; 此后就继续保持这种状态,也就是楼主图片中的情况;直到 M19 再次出现 OFF----ON 的状态,使 C1 得到一个计 数值使其触点状态变为 ON,将 M100 复位,再由 M100 的常闭触点将 C1 复位。这个过程中应该也能观察到 C0 前面 M19 和 M100 都为 ON 而 C0 计数值也为 0 的情况。 3.三菱 PLC 的 FOR-NEXT 指令中脉冲指令如何动作 【Q】: for k4 m8013 incp d10 next m8013 incp d20 按照指令说明 执行的结果 应该是 d10 是 d20 的四倍 但是我在 gx developer 中仿线 请问为什么 【A】: 分 析: INCP 是脉冲型的,程序从下扫到下,只执行一次 INC 行为 程序本来的意思是 FOR K4 后,NEXT 前的程序四次循环后再执行 NEXT 以下的句子 由于 INCP 限制它只执行一次,所以是相同的,如果改成 INC 就应该是 4 倍了(仿真通过) 进 展 说实话,我也是看了楼主的贴才好好看这个指令,同时做了几次试验 仍然是 INC 的情况下,我把 M8013 改成上升沿,果然,结果也是两者相等! 试验一和试验二证明,在 FOR NEXT 里面,脉冲型也是有效果的,一个扫描周期只执行一次。 深 入 然后我又把条件改成 M8000,结果果然就是相差四倍! 每一个扫描周期 FOR K4 执行四次,FOR K1 执行 1 次。 【A】:每一个扫描周期 FOR ……NEXT 之间执行 4 次;但因为 INCP 是脉冲指令,在 M8013、M8000 这样的条件 下每个扫描周期里没有 ON--OFF--ON 的变化, 所以这 4 次程序执行结果还是只+1 而已, 故 D10 与 D20 结果相等。 改为 INC 后,只要是前面条件为通路,每个扫描周期 FOR……NEXT 的执行效果就是+4 了,所以 D10 为 D20 的 4 倍。 注:本例中用 M8013,通断时间为 500ms,而仿线ms,循环四次后刚好到达 M8013 的 OFF 段,故直接将 INCP 指令改为 INC 指令无异常。若为实际 PLC 监控,D10 数值并非是 D20 的 4 倍。 3 4.三菱 PLC 编程实例:让数值在 0~10 之间来回变化 要求: 1,使用 FX2N 系列 PLC 2,让 D0 每秒变化一次,0,1,2,3,4,西门子plc cpu226编程入门5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0 这样循环 【A】 【A】 【A】 4 【A】 【A】 【A】 5 【A】 【A】 6 【A】 【A】 【A】 7 【A】 5.子程序调用终止时其内部继电器的状态分析 【Q】 程序如下: M0 ——↓————————[ ZRST M10 M20 ] M0 —— ————————[ CALL P0 ] ————————————————————[ FEND ] M8000 —— ————————[ SET M11 ] M11 —— ↑ ————————[ SET M12 ] ————————————————————[ SRET ] ————————————————————[ END] P0 现在的问题是第一次按 M0,M11 M12 可以同时被置位,第二次按下是只能 M11 置位,M12 时钟为低电平。到底 是什么问题 8 子程序 P0,修改为 M11 —— ↑ ————————[ SET M12 ] M8000 —— ————————[ SET M11 ] M11 M12 可以同时被置位,哪位高手给解释一下到底是怎么回事。 第二种情况: 程序如下: M0 ——↓————————[ ZRST M10 M20 ] M0 —— ————————[ CALL P0 ] ————————————————————[ FEND ] P0 M8000 —— ————————[ SET M11 ] M11 —— ————————[ SET M12 ] ___________[ INCP D0 ] ————————————————————[ SRET ] ————————————————————[ END] 子程序改成这样,M11 M12 都可以被置位,但是 D0 就加一次数,是什么问题 子程序 P0,修改为 M11 —— ↑ ————————[ SET M12 ] ___________[ INCP D0 ] M8000 —— ————————[ SET M11 ] 子程序改成这样。M11 M12 可以同时被置位,D0 计数正常,是什么问题 【A】 第一段: 第一次按下 M0 时 M11/M12 被置位,因为执行了 P0 程序;松开 M0 时 M11/M12 被复位,这是没有问题的,因为 主程序在一直运行。 但要注意此时子程序 P0 没有被调用,其中的程序不被执行。 第二次按下 M0 时,仪器仪表工程专业评估再次调用 P0 程序,西门子plc cpu226编程入门首先 M11 就被置位了,所以程序执行到 M12 的时候,M11 的状态是从第 一次松开 M0 前的 ON 状态切换到了之后按下 M0 时的 ON 状态,中间没有 ON--OFF--ON 的变化,也就谈不上上 升沿之类,所以 M12 无法被置位。 第二段: 直接把子程序被调用时的程序放到主程序中去分析即可。仪器仪表工程专业评估 9 6.关于三菱 CML 指令 【Q】请问取反 k10 等于多少啊,我记得的是 k5,但是三菱 plc 编程软件显示—11,怎么都想不通啊 【A】K10 换成二进制为: 0000 0000 0000 1010 对其取反的结果为: 1111 1111 1111 0101 ===================================== 对于带符号的数,计算机存储时为其补码形式,但显示时仍还原为原码。 这样,对 1111 1111 1111 0101 除去第一位的符号位,其他位取反得其反码 1000 0000 0000 1010,再加一得其补 码 1000 0000 0000 1011 。 最后得到的这个 1000 0000 0000 1011 显示出来即为-11 。 【Q】为什么取反后 还要加一个补码了 【A】 是加 1 求其补码,而不是加一个补码。 补码的补码为其原码,补码=发码+1 。 ============================== 对于正数 原码=反码=补码 7.这两个基本的程序有什么区别 【Q】 说说这两个基本的程序有什么区别 10 【A】 首先默认 Y1 为 OFF,X1 为 OFF 到 ON 的扫描周期: 图 1 例中第一句执行时将 Y1 置位,第二句执行时立刻将 Y1 复位。这样 Y1 永远不会有输出 ON 的状态。 图 2 例中第一句执行时无效果,第二句执行时将 Y1 置位。即使在第二扫描周期中第一句会将 Y1 复位,在执行第 二句时再次置位 Y1,这样 Y1 应是输出为 ON 的状态。 综上: 当 X1 为 OFF 时两者 Y1 皆为 OFF;当 X1 为 ON 时图 1 中 Y1 为 OFF,图 2 中 Y1 为 ON。 8.三菱 PLC 编程实例:灯的流程控制程序 【Q】在 FX2N 上的 Y0-Y23 上接有 20 个信号灯,X1 上接有一个开关,控制要求如下: 在程序初始化后 当 X1 为 ON 时信号灯依次点亮至全亮(从 1#开始至 20#时间间隙为 2S), 当 X1 为 OFF 时,信号灯依次由全亮至全灭.(从 1#开始至 20#时间间隙为 2S), 在灯的点亮过程中(也就是 X1 为 ON,时)转入在灯的灭过程中(也就是 X1 为 OFF 时)信号灯也同样按程序工作, 说明一下:例当 X1 为 ON 时,灯依次点亮至 10#灯(时间间隙为 2S);这时将 X1 设为 OFF,灯依次从 1#灭至 5#(时间间 隙为 2S);这时将 X1 设为 ON 灯依次从 11#亮至 20#再至 5#(时间间隙为 2S);不知我说清没有. 总之在 X1 的信号变换后,,灯亮灭遵循先亮先灭的原则,每个灯的点亮的时间平衡并循环. 11 12 13 【A】 14 今天看到,试了下,后面一段改为后面的就可以了 【A】 提供一个用“移位寄存器”的思路。 除衔接点外,仿真基本通过,未用 PLC 试。 【注】本例中第一段和第二段程序原始文件可进入下载 9.PC 与 FX30DUE 传输数据办法 前段时间改造旧设备,遇到了一块 FX30DU-E 的操作面板。 从网上东查西找,才搞定了怎么用电脑跟它通讯,并上传和下载程序。虽然过程不太复杂,但也有几项需要注意的 地方。西门子plc cpu226编程入门 1.首先是准备资料。 1.1 编程软件版本:SW0PC-FXDU/WIN-C。 1.2 电脑端口设置: 15 1.3 通讯线 OK,这样的话,需要的软硬件准备工作就已经作完了。但是直接将通讯线插到电脑上和 DU 连接起来就可以了吗? 不一定。因为,DU 上也是需要一些设置的。 2.人机设置步骤: (参照 FX-PCS-DU_WIN-E SOFTWARE MANUAL) 16 2.1 根据以上提示,首先检查 DU 后盖的 DIP 开关设置情况,其 SW1 和 SW2 都要设置在 OFF 状态。 2.2 将 DU 重新上电,进入模式选择画面,选择“OTHER MODE”; 2.3 进入“OTHER MODE”后,选择“DATA TRANSFER”模式; 2.4 这样 DU 就会等待与电脑的通讯了。 好了,现在终于可以打开 FXDU/WIN 了。 3. 打开 SW0PC-FXDU/WIN-C 软件,选择传送――通讯口设置,看端口选择是否与电脑通讯端口一致。然后选择 传送――DU,进入项目传送页面。 17 然后点击“接收”,西门子plc通讯线那头接plc传送栏就会显示文件传输进度,达到 100%时,就将整个文件下载下来了。 我是在操作过程中没有首先阅读手册,直接联线试验,结果搞了好久,事倍功半啊。 希望这个案例,对大家以后的工程能有所帮助。 【Q】F2-232CAB-1 通讯线缆制作方法: 和你的不一样呀,为什么? 【A】主要通讯方式一致,可能都可使用。 18

版权声明:本文由领航仪器发布于应用领域,转载请注明出处:仪器仪表工程专业评估西门子plc cpu226编程入门西