大家好,接下来呢我继续给大家介绍西门子幺二零 plc 的基础指令,今天呢给大家介绍一下这个 nc 和 dc 指令。 mc 呢,就是递增指令 啊,也就是把我们的变量呢,哎,每运行一次就把它加一,加完一之后呢,又传递给这个变量 啊,这个递减指令呢,哎,每次把这个变量减一,然后再传回这个变量,哎,这个变量的值呢,运行一次就少一个一啊,再运行一次又少一个一啊,这就是他的啊,基本工作情况, 接下来看一下他的吊用啊,这个指令呢,也很简单啊,同样的这个地方是数据类型对吧, 地点也是一样的啊,这两个指令啊,都是对整形变量进行操作的啊,有短整形,整形,什么双整形,无符号的整形等等啊,都是整形的变量, 那么这个呢,就是要操作的变量了,比如说 m w 十,对吧,那么你这个指令声效一次就对这个 m w 十加一啊, 加完一之后呢,又回传给 mw 十啊,就不断的重复这个过程啊, d 减指令也是一样的,每次减一,然后再回传给这个变量啊,这个大家需要了解一下,接下来啊,给大家看一下咱程序的调用啊,做 两个非常简单的实力啊,就是这个 m 零点一,控制这个地增。 m 零点二啊,控制这个地点,我们的要求就是每按一下一次,这个加一,这个是每按一下一次啊,减一。接下来在博图里给大家演示一下 程序,就是我们刚才那个 ppt 里,对吧,点击在线有点不一样,给他下载一下。 好,我们测试一下,把 m 零点一接通,大家看他为什么加的这么快呢? 本来按照我们的预期啊,每按一次他要加一啊,这个地点看一下, 也是不断的往下减的,大家看是不是?那这个就出问题了,对吧?你是每次加一, 结果你按下去之后呢?嗯,他变化数很大,是因为什么呢?哎,因为这个指令啊,不像激素器,每次都是接受你的延安,对吧?而我们这个 m 零点一一接通,对吧?我按了这么一下,其实就接通了 n 个扫描周期了已经, 为什么?因为一个扫描周区十毫秒,大家想,我这里一接通啊,这样按一下大概就好几秒过去了,这 这里呢,每个扫描周期运行一次,一个扫描周期十毫秒啊,所以说就运行了 n 多次,这个指令呢,我们一定要记得不能直接使用这个常开触点,你按一次他这里接通好多次,这里建议大家用延指令啊。 好,那下边肯定要给他改掉了, 好,这样我们再给他下载一下,看一下, 把这个给他清一下啊, 好,我们测试一下, 哎,修改为一,是不是加一了,再修改为零,哎,这里就保持这个一的值,不像之前的胡乱的加了,对吧?再来一次啊,没问题,是吧?每次给你加一下,边这里看一下, 哎,接通了一次,他减一,是吧?默认的这个指示零啊,所以他减一了,再运行一下 啊,减,减二了,对吧?哎,这就是这个指令啊,使用的时候大家注意了一个点。好的,先给大家介绍到这里,感谢大家的观看。
粉丝6.7万获赞21.2万

今天我们学习一下比较指令,比较指令它主要有等于小于、大于,小于等于、大于等于,还有不等于, 大家一看这不就是缩水上的比较指令吗?没错,这就是缩水上的比较,他有什么用呢?特别是在我们西门子的 plc 里面,大家可以看一个实力要怎么用。 我们可以用一个定时器来设置时间,设置一共是六十秒,前二十秒的时候 我们显示一个绿灯,再过二十秒显示一个黄色的灯,再过二十秒我们显示一个红灯。我们正常在红绿灯路口的时候,有时候也是红绿黄三个交替的闪烁,只不过时间不一样而已。我们这里 统一用用一个二十,接下来我们看整个程序要怎么设计。很多人说老师我要实操,不要这个看理论,其实学到后面才发现理论才是重要的, 实操其实不难,写好了程序往里面一输,电脑一输,这不简单吗?很容易。写好了以后我们外围电路接一下,其实也很简单, 但是你理论没有搞清楚,你想接白云电路,知道怎么接吗?不知道,你想把这程序输进电脑里,你不懂理论你行吗?其实不行, 所以我们心不要太紧,理论上一定要懂才行。好,我们知道了我们的设计要求,我们来进行设计。大家在 入门篇的时候都学过一个自锁电路,首先一个常开的指令,再来一个常闭指令,再来一个输出,然后这个位置再并联一个自锁。在这里我们可以进行编号, are 一点零, i 断开是一点一,这个 我们编号比较特殊, m 零点零,这个也用 m 零点零, m 是什么意思?表示中间一个 过度一个指令,我们可以用它来模拟一个这样一个输出。第二段我们先这个输出,一旦输出以后,这个就变成闭合,这 也会闭合,然后我们再调一个计算器指令,用 t 三 t 进行编号,他刚开始是常闭的,然后我们在后面定义一个计算器, t 三七,这个位置是硬,这个位置是先闭合六十 pt 一百秒,下面就使用我们比较指令,首先我们还是开关, 当这个闭合的时候他就会闭合,这时候这个指令小于多少秒呢?二十秒的时候计算器第三期,我们就输出 q 零点零,再来一个分支,大于等于的时候大于等于二十,计算器提三 七,并且呢小于四十第三七,这时候我们输出第二个灯, q 零点一,我们定为黄色吧,接下来我们第三个,第三个怎么样呢?我们是大于等于四十第三七,同时小于六十,然后 我们输出 q 零点二红灯,这样我们整个程序就写好了,接下来我们将它输入电脑, 我们先打开西门子的 plc 编程软件,先按照这张图纸,我们把所有的 逻辑开关元件全部给他拖过来,弹开长臂突出下面一个常开连接上去。好,第一段就完工了,接下来第二段常开 长臂一个计时器,最后我们来进行编号,好,第三段弹开小于一个输出,接下来是大于等于再来一个小于,再来一个输出,是大于等于点上去,再来一个小于,再来一个输出。接下来 我们对这些逻辑符号进行命名,也就是确认他的输出输入端口,这个是 i 一点零,试图转换为警觉队,这是 i 一点一,这个是 零点零,这也是 m 零点零,这是 m 零点零。 t 三七一,三七, 这个定义为六十,这个是 m 零点零,是二十三七,这是 q 零 b 三七 二十三七四十 q 零点一,这个是 q 零点零点零。三七四十三七六十 q 零点二。回车。好,整个程序我们就写完了,具体的话我会截图发在评论区当中,大家可以对绕这个进行输入。 接下来我们进行实物接线,涉及到一个西门子 plc, 两个按钮,一个启动,一个停止, 还有三个红黄绿信号灯,我们来先接按钮,两个都接在敞开的一端,其中一个绿色的已经接在了 i 一点零上,这个第二个我们接在 i 一点一上面,另外一端我们变脸在另一个的附体上面。两个按钮我们接好了,因为我们定义在 q 零点零一内衣和零点二上,所以这个公共端我们要放到最左侧,这种信号灯 不分正负极,绿色接 q 零点零,最后他另外一节我们统一接接第二个黄色,黄色接 q 零点一, 红色 q 零点二。他们另外一集我们统一接入 plc 的负极,二十四伏电源输出的负极三条放下,我们可以将这三条同时接入二十四伏外接电源的负极,也行,一根一根吧,这样就接好了,我们将程序下载 测试一下外围元器件,接好以后,我们将刚才写的程序下载到西门子的 p f c 当中,我们下载完成了, 我们启动试一下,可以看到三个灯轮流在进行跳动,停止,自动熄灭,这就是 比较指令的使用。今天的课程就到这里,大家有什么不明白的地方可以在评论区给我留言,或者加我的粉丝群,在群里面提出。

西门子系统定早指定是 sack 八百,这是机床上打开 sack 八百命令的界面,看上去并不复杂,但实际上写着命令的话比较复杂。完整的 sack 八百命令有十六个参数, 下面我们讲一下各个参数。第一个参数定义,撒个八百指定运行后要不要退刀? 零是不退岛。一是沿着机床 z 着退到 z 向零点,二代表 z 向退到零点以后, x y 方向都要退到 g 中原点。三保留。四是 凿向退刀,沿着刀具凿向进行退刀,一直退到不能再退为止。五是定义一个刀具凿向退刀的距离, 这个距离达到的时候就停止退刀,那距离在哪呢?在下面。但是绝大多数情况下,这第一个插座我们都一定以为零不需要退刀。 第二个参数是双引号括起来的一个英文名称, 这个叫回转数据组,这个名称指定了三块八百的一系列的参数。 不同品牌的机床,这个数组名称不太一样,比如德玛吉机床 d m u 五零 b c 摇篮,这个名称叫 d m 机, 然后摇篮机床 a c 摇篮,机床名称是 t c 八 摆头转台机床 t c e。 所以第二个插座需要看机床说明书。 第二,它的如果你写零,也就相当于取消赛格八吧。打一般我们不用这个,我们一般取消定轴,用赛格八百两个双括号 就行了。刚才说的这个 t c 参数就是这个地方,这个系统,这个机床,它叫 table。 第三个参数定义,转化状态,所以转化状态总共有十万位,万位、千位,百位,十位,个位, 个位。如果是零,就是新的定轴平面, 如果是一是附加,就前面有 cigarbob, 我在 cigbo 前面那个 cigbobi 建立的那个定轴平面上再附附加,再来一次旋转。 如果是零的话,就是从初始坐标期旋转一的话,收前一个,十二个八百附加旋转, 你可以理解为绝对与正量十位。如果你定义的零意味着 cygar 八百,在旋转旋转轴的时候, 刀尖不跟随刀具不动,比如是 a c 摇篮, a c 摇篮在摆的时候刀不动, 这二射一的话,刀会跟随这个弓箭跑。 cygberbaby 这个指令下面就可以看到它既能旋转坐标系,也能旋转机床的。 没转着。为了安全,我们这儿第十位应该选零,选零就相当于海德汉 plan 指令里面用 today, 如果这儿选一,相当于 海德汉 plan 指令里面选 move。 百位一般选零就可以了, 千位没有用,万位,万位就是定义。 要不要让塞个八百去回转旋转轴?如果零那就是是,如果不是零,那就否, 否的话还有方向。那十万位呢?是旋转回转着是正向还是负向?这个正向和负向就是我们说的五朝机床多紧, 在多解的时候选哪个解?注意啊,这是第四找的解, 不是第五轴的。前面说了双摆头起床。 c 轴,它是第五轴, b 轴或 a 轴是第四轴, c 着也有两个结,在 b 区正或区负的时候, c 各有两个结, 这儿它不是选择 c 的解的,是选择双百头 a 或 b 这第四轴的正负解的,所以在双百头上这儿尤其复杂,所以在双百头记装上 最好不要让萨克八百来旋转 a c 或 b c 这两个旋转轴, 第四个参数就是选择坐标器旋转采用什么角度。 这第四个三度是用八位二进之数来表达的,复杂就在这最高的两位决定了回转角的种类。四个种类, 第一个是眼轴角,这儿翻译的不好,第二个是立体空间角,第三个投影角,第四个直接角,我们主要看第一个眼轴角。眼轴角英语怎么说? access by access。 凿,沿着凿去旋转,其实就是广义欧拉角。广义欧拉角的定义就是旋转的时候是沿着自己的坐标器自己转, 但是广义欧拉脚总共十二种,具体分为六种,狭有拉脚与六种泰特布莱恩脚。这儿是不是十二种呢?这儿我们看说明啊, 执行 cycle 八百时,不可以按照 z、 x、 z 的顺序旋转,这地方的意思就是说, 撒一个八百的这个眼轴角不能用狭义欧拉角,只能用六种泰特布莱恩角就是这六种。 上面这个叫侠义欧拉角,那侠义欧拉角跟泰斗布莱恩角都属于广义欧拉角,换句话说就是轴沿着轴去旋转, 只不过狭有那角,第一个凿跟第三个凿名称相同,泰透不来鸟, 三个轴名称各不相同,所以 cycle 八百不支持下右了就。那我们看看假如 x、 y、 z 顺序的态度不能有,这儿 总共八位二进支出写出来应该是什么样子的?最高的两位应该是零和零, 先写好,然后第六位怎么写?应该这样写, a 绕 x 的第一次旋转, b 绕 y 轴,第二次旋转 c 绕 z 轴,第三次旋转就是 x、 y、 z, 我们把这个写进去, 最后八位 二进制就是这样,这个换成十进制是多少呢?很容易无期。 在 sacrababi 写指令的时候,这第四个插座要写实禁制数,不是写二禁制数,要把它化成实禁数。如果 x、 y、 z 顺序的话,是五十七号。再举个例子, z、 y、 x 顺序, 以此类推,以 a, r, z 第一次旋转, b 绕 y 第二次旋转, c, r, x 第三次旋转,把这个填进去, 这就是 z、 y、 x 顺序。旋转的二进制八位数算成十进制是 二十七。在机床界面里面,这儿直接就写 z, y、 x, 没有写二十七啊,这个就比较直观了,其余的顺序以此类推,不再追溯了。 其他三种角度我们就不讲了,用的很少。第五、六、七号参数代表 定凿模式,先要平移,然后旋转,就是平移到什么点, 就是这儿的 x 零 y 零 z 零八九十号参数就是旋转角。比如二十七号 z, y, x 顺序,那这个 八九十一次,就是 z 角, y 的角, x 角 按照这个顺序写。如果这儿是 x、 y、 z 呢?这个儿界面就会变成 x、 y、 z, 按照这个顺序去写命令。 十一、十二十三号参数,意思是平移,旋转以后你还可以再平移, 就是这儿的 x、 e、 y, z。 这个一般我们很少用,一般平移就一次,平移完了,没有必要再第二次平移。所以一般我们这儿就写三个零十四号参数,就是如果把三个八百拿来,同时选 旋转回转轴,按照正解去旋转,还是按照负解去旋转?这个正解和负解再说一遍,是第四轴的正负解, 这如果写零,就不旋转,会打着 sat 八百只旋转坐标系。 如果是负一负减正一正减十五号参数,这个翻译的非常不好,很难让人理解这是什么意思。这个十五号参数对应的就是第一号参数, 第一号插头,如果你选 note, 就是三个八百,执行的时候先刀具沿刀轴方 方向退刀,退一个距离,然后停止,再执行塞个八百的旋转坐标系等一系列动作。啊,这个你倒着适量方向的退刀到底退多少距离?最后第十五号参数指令, 比如你写个一百,那就沿着向退一百毫米的距离。如果第一号参数你选的是零,不退到这儿没有用。第十五号参数没有用,随便你写,但是我一般我们就写零, 十六号参数一般我们就写零就可以了。以上我们就简单的介绍一下,下面举两个例子,比如这个指令, 第一个零不推倒 tz 八不说了,这是他的这个机场定义的速度拼差,这第三个差速十万,十万代表要按照负方向去旋转回转轴负减。 为什么倒数第三个战斗这儿有负一,这儿是对应的。假如是 a c 摇篮,那就把 a c 轴转起来, a 是负的角度旋转。 假如这儿写的一十万零一, 代表从前一个赛格八百的定轴坐标 c, 再进行附加选择。 如果写,您不管前面有没有十个八百,都不关我的事。我现在重新做一个平面啊,重新做的这个平面,这个新的定轴坐标系是从初始坐标系旋转, 不再追随前面的赛过八百了。所以说零是绝对一,是正量附加,但一般我们叠加附加非常少,非常少见。 二十七号 z y x 顺序的延兆角,然后二十三十四十表示旋转之前坐标系先从初始坐标系先平移 一到二十三十四十这个点,然后按照 z y x 顺序旋转。旋转是按照欧拉角六十度,九十度,四十度旋转, 旋转完了以后要不要再平? elevel 零零零三个零, 然后倒入第三个参数,指明旋转回转轴是正解还是负解?我先按照负解来转,第四轴的负解来转, 后面两个零我就不再追数了。如果这样写,第三个长度是十十一吗?啊,这个这个地方如果写一就代表不转不转了,我们看看是什么样子的, 也就是 one way, 写个一否负像的,那就不转了。同时倒数第三个参数也写零,不转,只转坐标系。 如果这样的话,塞个八百直转坐标器,那 a c 轴需要你单独写个命令,把 a c 轴转起来,具体要转到多少度,你必须要让有一个明确的数值把它转。 大部分情况下我们都是让撒个八百去同时转坐标器与回转轴,在个别的情况下,如果解的情况比较复杂的话,必须 然后做处理,决定回转早怎么转。三个八百直转坐标系,尤其在双百头机床上。 这就是简单的介绍一下。光看官方的说明书看不懂,翻译的很差, 翻译者根本也不理解,他不是专业的技术人员,就是简单的翻译一下啊,这种翻译出来的说明书根本没有办法看懂。 比如这儿倒出第三个参数负一的意思,其实是 第四招,按照负解旋转。正义是第四招,按照正解去旋转 零就是 saguary, 不负责旋转,会转轴,只转坐标器。这儿写的驴唇不对马嘴,看了根本不懂。

哈喽,兄弟们,昨天有兄弟问能不能讲一讲西门子系统 safe 八百坐标变换指令, 这个指令对新手来说不太友好,我思考了一下,我们以最简单的编程方式来对这个指令做一个讲解, 我们可以看到现在是一个 x y z 三轴的一个坐标系,我们在这个 x 正方向侧面进行一个呃,平面的洗靴,活的高度是五十,然后我们用一把五十的刀正好对这个侧壁进行一个洗靴。 我们先来看一下就是这样的一个道具,路径非常简单,为了便于理解讲解这个 c 和八百指令。 然后我们来看先正常情况下没有使用 safe 八百的一个后处理的一个指令是什么样的, 我们看看这个程序,就是啊,这是用一个普通侧椅头的后处理做出来的一个呃,程序,我们可以看到 采用的是 g 幺九平面, g 零 y 负二十八, g 二十五,我是高五十 x 三啊,先到这个进到点,然后 g 零一 x 零,然后 y 零 y 一百, y 一百二十八, x 三程序结束, 这就是一个普通侧椅头的后处理啊,加上 c q 八百之后,为了便于理解他的坐标发生了变化,我们看到没有,这轴的方 向就是我们的倒轴方向,我们这个程序还是那个程序,坐标原点位置没变,但是坐标发生了旋转,然后还是这样一个道路,看到我们注意看这轴的方向, x 轴的方向, y 轴的方向都发生了变化, 我们再用这个用一个 cq 八百的自动侧洗头的后处理对他进行一个程序的处理。我们再来看一下这个程序,看到啊,这个程序就是一个 带 cq 八百指令的啊,一个后处理。我们可以看到这个 cq 八百的指令非常长,我们先来看一下这个 cq 八百的讲解,这其中啊,我主要讲一下这个解释里的第六号啊阐述和 第七号参数,第六号参数就是这三个啊,九十零,二百七,这三个围绕着 xyz 轴旋转的角度旋转之后达到的一个啊, z 轴冲向倒轴方向,现在坐标系三轴,坐标系绕 x 轴旋转了九十度, 然后绕这轴旋转了二百七十度之后就得了得到现在这样一个啊,坐标系后面的三个零啊,代表的是坐标轴旋转之后,相对于之前的坐标零点有没有发生 xy y z 方向的平移。我们再看一下这个程序, x 负的二十八, y 二十五, y 是这个厚度方向二十五, x 负二十八啊,需要点,然后 z z 三点啊, z 现在变成了这个进到方向, 然后第一道 c 零,然后 x 零, x 一百, x 一百二十八 c 三。通过这一个程序我们我相信啊,其实小白也能看清楚 这个 cq 八百指令的这个用处,就是坐标序发生了旋转,使我们在呃进行立卧转换的时候,也能像啊三轴一样去进行编程。 但是这个指令我们手动编程的情况啊,使用不多,一般都是使用专用的后处理进行一个软件的编程,所以来进达到一个五面体啊,依次对刀进行五面加工的这个效果, 所以说呃,手动变成意义不大,主要你得有一个专用的啊 co 八百的后处理。


西门子薄图入门篇基础指令前面呢,我们已经学习了 plc 的 顺序控制,那这节课呢,我们要解决一个现场非常真实的问题,在很多时候,设备它不是我说停止 它就能马上停止的。比如说我们这个案例,设备现在运行传送带上面还有货物没有全部送干净,那我现在设备停了,那物料是不是就一直停在传送带上,所以我要等物料完成之后再去停设备,那这里这就涉及到有一个延时,对吧?那这个逻辑呢,相对来说比较简单,就是说我的传送带入口安了两个对射光电,只要任何一个传感器检测到货物, 传送带就要立马运行。当两个传感器都检测不到货物时,传送带不能马上停,要继续运行五秒钟之后把余料送干净再停止。按下停止按钮后,传送带同样延时停止。在运行的过程中按下任意一个急停按钮,传送带立马停止。要解除的时候要先按复位,且急停按钮没有触发的时候,设备才能恢复运行。那这里我们提了一个小小的要求啊, 在前面的案例练习中,只是要求大家能把功能实现出来,但是我们现在加了一个新的要求,我们要用最合适的指令实现功能,感兴趣的小伙伴可以先写一遍再看视频。那首先还是打开系统时钟, 保存翻译好,接下来进行变量的声明,为了节省大家的时间,就跳个输入过程了,我们快速过一遍, 上面是我们的时钟,下面是我声明的变量,有启动按钮、停止按钮、复位按钮,前部即停,中部即停,后部即停。两个入口光电传感器,绿色指示灯,红色指示灯,蜂鸣器标志位有运行允许,有或信号即停信号,停机信号。接下来我们先来写程序,先是启动按钮触发运行允许,对吧?停止按钮,触发停机信号, 然后即停按钮,触发停机信号,即停按钮有三个,三个与条件即可,任何一个触发都要置位再复位掉运行允许。 接下来是对两个入口光电的信号进行处理,任何一个触发置位有获信号。接下来是输送线电机的运行,处理条件是运行允许加有获信号。启动传送带,电机同时使用脉冲来触发绿色指示灯的闪烁, 修改一下触发条件,用电击的输出来触发传送带不运行的时候绿色指示灯常亮,所以要一个与条件来长通,用传送带的输出的非来判断即可。接下来要处理急停时,传送带上有货,恢复后重启传送带,是不是要执行一次判断,用有货的信号和没有急停,再加上负为信号 再来置位运行允许。那现在还有一个问题,注意看有或信号是不是只有置位没有复位,所以传送带就会一直转。那我们是不是要加一个定时器,五秒钟之后,每检测到入口光电信号就复位。有或信号插入一个程序段来写复位逻辑,用有或信号再加两个入口信号来复位, 当然即使可以不加,但是为了方便阅读,加上。然后五秒钟复位。有或信号有没有更简单的写法来思考一下。程序的写法是多种多样的,如何利用最简单的逻辑来实现功能?是不是最优选择?否则程序一多,是不是就变成了使删代码?那这里就要引入另一种定时器, t o f 关断延时, 删掉这一段重新写。那这个 t o f 指令呢?它和 t o n 刚好是相反的记忆, o f 叫关断延时对吧?它只要检测到输入信号为一 q 点直接输出,一旦检测到信号从一变成零,关断延时,定时器才会开始计时,达到设定时间输出断开。 但是在达到设定时间之前,输入再次被导通,当前时间立即清零。所以是不是正好用来检测这两个输入信号?检测到信号就导通 q 点,五秒内 q 点一直输出,五秒后没有输入了, q 点断开,电机也就停了。这样写的话,后面不能用质位,要改成线圈。但是这样写有一个问题, 如果传送带上有或按下急停后再复位,设备是不是不能启动?因为没有信号来再次触发 t o f 定时器,那应该怎么办?来思考一下, 是不是直接在这里并连一个条件,让定时器一直导通?用什么条件?是不是只要用疾停标志就可以?这样的话,因为疾停按下后运行中被复位,所以就算有货信号存在,传送带也不会转。一旦疾停信号消失,有货信号再次恢复,五秒后没有入口信号,有货信号消失。能不能理解? 好,为了便于大家理解,我们来测试一下。我改一下变量,节省时间,就不去强制 i 点了。我现在模拟其中一个信号来了,现在有货信号来了。好,这时候,现在一直在输出是吧?断掉光电信号开始计时了, 现在我突然按下急停按钮,急停信号来了,正在计时的定时器立马复位,急停标志复位后重新开始计时,这样能理解吗?时间一到,有货就断开。所以要学会灵活运用指令。再见。

大家好,我是机电奥杂华学西门子幺零零 poc 数学函数 i n c 递增 d e c d 减指令 i n c 递增是因 crement 的缩写 p o c 阻挡好后,我们在指令基本指令数学函数里面就可以看到 i n c 递增指令。我们将 i n c 递增指令拖入到程序中, 他就生成一个方方上面的 ic, 就说明这个指令是递增指令。这个三个问号是选择这个数据类型, 这个数据类型一旦确定之后,那么我们这个输入输出的操作数的数据类型就被确定。在使用的时候,这个输入输出的操作数就应该在这个选定的数据范围之内, 如果超出范围就会出错。这个一人为死人,只有当这个死人为一的时候,那么这个指引才会被执行。我们根据需要可以在这个前面加上一个和多个条件来控制这个死人角,比如说我们在这里加上一个开关 i 零点零,这样只有在这个开关被按下去之后,这个指令才会被执行。我们将这个指令的问号填入这个数据类型,我们选择为整数 应奥的操作数,我们填为 m w 幺零。这个指令的意思就是当我这个开关被按下去的时候, m w 幺零里面的数每一个扫描周期就会加一,结果放在这个 m w 幺零里面,如果这个指令成功被执行了, 每执行一次,那么这个 eno 使人输出也会为一,那么他后面的操作数也会为一。我们在这里填入一个 扣零点零,我们将这个程序下到 poc 中进行实验,选中 poc 一,点击下载 完成进行监控,我们按一下 i 零点零,此时 m w 幺零就从零变为六百三十八,也就说我们按照二零零零到放开的时间,他就执行了六百三十八次,即程序被扫描了六百三十八次,每执行一次,这个扣零点零就散一次。 我们再按一下 i 零点零,变成两千多,如果按一下 i 零点零,这里面的数只增加一的话,那么这个前面必须加上一个颜值力,加上升颜或者下降颜,我们取消监控, 我们在这里加上一个上升盐指令,上至扫描状态,我们放在 m 二点零中,这样我们按一下 i 零点零,这个 m w 里面数就加一,按一下就加一。 ic 指令一般与比较指令配合使用, 我们在这里用一个比较指令,等于当 mw 幺零里面的数 等于五的时候,我们输出一个扣零点一,我们下载的 p o c 中进行实验,选中 p o c e, 点击下载 装载完成进行监控。这个 m w 幺零零的数还保持上次运行的 结果,我们将 poc 停止一下,再进行运行,那么他就会清零, 停止模式,再进行运行,达到运行模式,这样这个 m w 里面的数就清零。 此时我们按一下 a 零点零,那么这个 m w 幺零零的数就加一,就变为一,同时这个扣的零也闪一个扫描周期,我们按一下 a 零点零,大家注意看这个灯, m w 幺零变为一,这个扣点零闪了一下,我们再按一下变为二,这个灯又闪了一下,再按一下变为三,这个灯又闪了一下变为四,又闪了一下,再按 一下他就变为五,当他等于五的时候,我们这个扣零点一就点亮,我们再按一下,他不等于五,这个扣零点一就熄灭了,这就是这个递增指令,取消监控。 d e c 地点是 the crement 的缩写,在数学函数里面,将这个 d e c 指令拖入程序中,或者单击这个 ic 右上的三角,将它改为 dc 指令,这样他就变成递减指令。递增指令跟递减的指令的用法是相同的,只不过当这个指令被执行的时候,这个输入输出 操作数他是会减一,我们将这个改为负五,将这个程序下载的 poc 进行实验, 进行监控,此时这个 m w 里面的数是零,当我们按一下这个 i 零点零的时候,他就会减一,就会变为负一, 同时这个扣零点零就亮。一个扫描周期,再挨着挨零点零,他再减一,就变为负二, 再按一下,再减一,就变为负三,再按一下减一,就变为负四。这个扣念零,每执行一次,他就赏一次,再按一下, 他变成负五。 mw 幺零等于这个负五的时候,这个扣零点一就点亮, 再按一下,他就变为负六,扣零点一熄灭,这就是 d c d 减指令。 i n c 递增 d c d 减指令在实际运行中也是比较多的,一般跟比较指令配合使用, 相当于真技术或者简技术。好,感谢大家的收看,再见!

西门子薄图入门篇基础指令在前面的案例中,我们已经学习了 plc 程序的顺序控制,设备按照流程一步一步的往下走,只要条件满足了,就进入下一步。那有一些设备的控制呢? 还要进行人机的一个交互,人的操作或人的行为,它可能会打断流程。所以这节课我们用自动门禁闸机顺序控制系统来给大家演示一下。我要带给大家的不是程序到底怎么写, 而是编程的思路,并起到一个启发锻炼效果。 plc 要解决的不是下一步要干什么,而是在当前状态下,哪些行为是允许的,哪些行为是不允许的,在对应的状态下,哪些输入信号是允许的。 比如这个闸机系统,只有当我处于权限模式下,外部输入的刷卡或者面部识别信号才能触发开门通行。同一个信号,它在不同的状态下,它的作用是不一样的。在没有权限的时候,检测到有人进入闸机就要报警,在有权限的时候,检测到人进入,就要保持门打开。 还要理解一点 plc 逻辑中的时间控制,它虽然可以作为顺序控制的一部分,但是定时器它还有另一个作用,对程序进行兜底。比如现在处于通行状态下,超过五秒钟之后没人通行,对吧?门总不能一直保持打开状态吧?所以是不是要加一个用来进行兜底的判断? 我们在写程序时,不管是复杂项目还是简单项目,必须有兜底手段,不能让设备就在某个流程上卡死了,条件缺失,触发不了,就用兜底信号来强制进入下一个状态或停止,接下来我们一起来进行程序的编写, 那这一节课呢?我们这个案例中要控制指示灯的闪烁,蜂鸣器的间歇式触发,可以使用定时器来进行触发,但是每次都要自己去写,有没有更简单的方法实现控制效果?当然有, plc 是 自带时钟脉冲的, 但脉冲发生器默认是不开启的,那接下来跟着我一起操作。在设备式图里选中 plc, 直接双击会自动弹出属性窗口,在常规里面往下拉,往下拉,找到我们的系统和时钟储存器,勾选下面这个也勾选,勾选了之后,然后养成好习惯,保存翻译。翻译完之后, 如果要想让这个时钟发生器生效,要选中 plc 右键下载,选择硬件配置,点击下载才有效果。接下来我们来声明变量。勾选了时钟发生器并翻译后,变量表已经自动生成了一些标志位,有首个扫描周期导,通常通常开不同频率的脉冲。我们来声明变量刷卡指纹 人脸识别,远程允许闸机的通行信号,入口红外信号,中间的通行信号。当然你如果想要控制的更精准,还可以加一个出口红外,但是我这就不加了。闸门开到位,关到位模式选择模式有三个,一个是权限模式,一个是常开模式,一个是常闭模式。我们有三个模式, 为什么?这里我只声明了两个变量,大家可以先思考一下。接下来是输出开门关门的驱动,这里改成 q 零 黄灯蜂鸣器,接下来还有一千点标志位待机状态。注意,开启了系统时钟和脉冲后, m 点要从十点零开始, 所以后面地址别忘了改。全线状态,开机状态、通行状态还有关闭状态。接下来是各个模式,全线模式、常开模式、常闭,禁止模式、故障状态。 我们开始程序的编辑。首先我们设备是不是上电之后就要进入待机状态?所以是不是可以利用 plc 上电的第一个扫描周期导通这个标志位来置位待机中这个第一个扫描周期的 first c n 是 吧?那直接直接拉进来是不触发我们的待机状态就可以了,它是第一个扫描周期才会导通, 所以只会触发一次,一次只能有一个状态,其他状态是不是都要被复位?所以应该怎么办?所以直接上电的时候就复位,其他的状态好都拉进来, 报警也要复位,报警信号是不是也要复位,对吧?为了便于维护人员阅读,把顺序调换一下,我们还要考虑设备故障在线维修后要复位。我是,所以这里是不是直接并列一个复位的条件。接下来是对操作模式进行处理, 前面我提了一个问题,三个操作模式为什么只要两个输入?有没有想到答案?两个输入可以构成几种电瓶组合?零零零一,十十一,一共四种,对吧?我这里只需要三种即可。首先是零零,也就是默认不选择就进入权限模式,只不是直接两个输入的长闭即可。输出权限模式 一零定义为常开模式,也就是模式选择一导通,模式选择二,不导通,还有禁止模式可以直接这样复制下来啊。第三个模式是不是模式选择一不通,模式选择两通,对吧? 改一下输出,那么三个模式是不是就好了?而且每个模式的导通条件都是唯一的,当然为了更稳妥,可以利用三个模式进行互锁,每次只允许一个模式,导通互锁是什么意思都明白吧? 也就是 a 导通的时候断开 b 导通的条件, b 导通的时候断开导通的条件,直接这样进行互锁就好了,对吧?接下来对输入的权限进行处理,也就是这四个允许条件进行处理好,所以前面是不是加一个权限模式的判断条件即可作为总条件,后面串联上四个与条件, 然后导通权限允许对吧?好,刷卡允许,指纹允许,人脸允许,远程允许。好,我们的这个权限是不是?好了,接下来是第一个权限模式,待机状态下的动作要关门,对吧?总的条件,权限模式下才执行关门的,然后在待机状态下关门啊,关门的前提条件是门没关是吧? 用关到位取反,也就是门没关好来导通关门驱动对吧?闸门关到位就进入下一个状态,然后复位待机状态好,接下来我们就进入权限状态了,直接复制到下面,把待机改成权限状态。上面我们已经处理了四个权限, 所以这里直接用他们导通的标志位作为条件即可,直接进入开启状态,关闭权限状态开启状态了,别忘了前面前面有加一个权限模式好,开启状态下,首先是门没有开到位的判断,就要开门,开到位之后就进入进入通行状态, 然后来复位开启状态,接下来是不是到我们的通行状态了?通行状态下是不要首先判断人有没有进入,进入之后有没有离开,那这里我们应该怎么判断?我知,我们之前是不是讲过严指令从零到一是上升严,从一到零是下降严,对吧?所以我们这里应该怎么办?来想一想, 人进入信号变成一,人离开信号从一变成零,所以是不是用下降眼就好了?中间红外的下降引来触发添加一个标志。位,这里通行状态是不是就结束了?要进入关闭状态,对吧?好,置位,下一个状态,复位当前状态,接下来是关闭状态,关闭状态下是不是要关门? 门关到位之后,然后是不是就进入又进入待机状态了?变量拉进来,不要忘了复位。好,上面还有个条件,人走后零点五秒自动关门,加一个零点五秒的延时。 接下来是不是还有常开和禁止模式?先来,常开模式,是不是要一直开门,对吧?那我是不是这里只要门没有开到位,我就开门,对吧? 接下来是不是禁止模式,然后门没有关到位我就关门?好,现在是设备就已经具备运行条件了,但是我们的异常和报警现在是不是都还没有?我们现在就要把它加到我们的程序里面去。首先待机状态下三秒钟门门没关完是不要报警,所以这里是不是指键加一个关到位的信号,加一个定时器,三秒钟,对吧? 这里是不是要进入故障状态,然后复位我们的待机状态,对吧?接下来看开启状态,开启状态就是我权限允许的时候,超过三秒没检测到开到位信号,是不是也要故障报警三秒钟的定时器置位故障状态,复位当前状态, 再来看通行状态一次是不是只允许一个人通行?那现在一个人还没走完,第二个人又进来了,我是不是要报警?所以这里是不是入口红外加中间红外两个都通的时候我就要报警,对吧?直接报警信号,现在是不是还要加一个五秒钟的定时器来进行兜底?如果超五秒没有人通行的时候,我就要关闭,对吧?复位当前状态进入关闭状态。 再看我们的关闭状态下,如果超过三秒钟没有收到关到位信号,是不是也要进入故障状态? 进入故障状态,然后复位我们的关闭状态,对吧?常开模式下也一样,没有开到位也要触发故障状态, 这里是不是有故障了之后就要断掉输出禁止模式也是一样的,加一个延时判断。好,那接下来是处理我们的故障状态,故障状态要闪烁,对吧?闪烁我们刚刚说过使用脉冲,这边有一些常用的,选择合适的即可。故障状态下加入脉冲, 输出黄灯。接下来是报警状态,和故障状态的写法一样,触发条件是报警信号,输出蜂鸣器和红灯。然后我们允许通行的时候,没有报警的时候亮绿灯,对吧?导通绿灯。程序写法有很多种,实现功能即可。