汇川 plc 全局变量表如何使用?那么我们打开汇川 plc 它的一个编程软件之后,在这边呢我们可以看到有一个变量表,对吧?然后呢这边呢是我们编辑程序,这边呢是一个配置, 那么这个变量表是如何进行使用的呢?其实它跟我们西门子的一个幺二零零 p l c 当中它的一个呃 db 数据块呢是差不多的,那么我们可以打开这个变量表呢,来看一下它是如何使用的。那么通常我们编写程序的时候呢,我们可能会用到这种全局的一个地址,比如说你 d 零啊, x 零和 y 零啊,对不对?那 那么我用的这个变量表,这个时候呢我可以不需要地址,可以通过符号的一个名称呢来来识别它的一个地址啊,比如说我们在这边打开这个变量表,然后接下来呢我们来定义一下,首先呢我们定义一个启动,好 启动它的数据类型呢是 bor 的, 然后呢在这边我们可以看到它会可以设置你是不是调电保持,还是呃你有没有关联我们的软原件的一个地址, 当然如果你关联一个软硬件的地址的话,那么它就是相当于是有一个地址的,那么这样的话只有符号它是没有地址,当然你可以这边这边呢关联一个地址,比如说你关联一个 m 零 m 一, 这样都可以,那么现在呢我们不去关联它,那接下来我们再定一个停止 更多的实战案例,我全部总结在这里了,那么具体的获取方式呢?可以查看我的主页简介 啊,停止,我们可以看到也是一个 boy 的 一个数据类型,我们再来定义一个什么东西呢啊?运行。好,那么现在呢我们就定义了三个变量,启动,停止和运行,那么它只有符号的一个名称,并没有我们什么东西呢?啊?软硬件的一个地址,对不对? 首先呢我们来编辑这个程序的时候呢,首先我们就可以在这边打一个启动,是吧?直接通过这个符号的一个名称呢来识别它的一个地址就可以了,接下来呢我们可以看到在这边我们可以做一个啊停止好,然后接下来我们可以来一个线圈吧,这个线圈呢是一个运行 好,然后啊我们就起写一个起跑停吧,好,写一个最基本的起跑停好了, 嗯,好,然后在这边呢我们去连接它,连接完了之后呢,那么这个程序我们就编写完了,是不是它是没有这种呃绝对的一个地址的,那我们来进行一个仿真测试一下。 好,那么仿真测试,首先呢我们来看一下,在这边我们可以点一下写入一个 on, 然后呢 off, 是 吧?然后在它呢我们的 on 和 off, 好,那么这个就是它的一个呃,最基本的呃寻址,最基本的一个寻址,当然你呃复杂一点的,我们也可以通过这种方式呢来进行一个寻址啊,比如说我们现在在变量表当中呢定义的一两个 pos, 那 么我在这边呢,我们可以再定义一个 i n t 的 一个数据类型,也就是十六位的一个数据类型, 看它的长度呢是占有了十六位的一个地址的一个长度,那在这边我们编辑程序的时候寻址呢,就不是这样寻的,那么如何进行寻址呢?因为你是一个位原件嘛位的一些线圈,所以我们要寻到它的这第一位,也就是我们所说的一个片段寻址,是不是在西门的幺二零的 p o c 当中呢?它叫做一个片段的一个寻址,好,我们 来找到它它的一个片段寻址啊,这样的话,我们也可以呃来实现它的一个起跑题的一个功能,好 好仿真测试一下啊,测试一下,那么接下来我们点击它,然后写入点击 off, 点击 off, 好, 可以看到它已经自锁了,对不对?我们再来点一下 on 和 off, 那 么这样的寻址它有什么好处呢?它有什么好处?也就是说,呃,如果说我想要做一个报警,是吧?那么报警呢?我可以统一用十六位的呃,十六个变量,那么十六个变量呢?我们就可以在这边就 关联这边每一个位的一个地址,是吧?比如说我们这边呢是一个报警啊,报警铃,那么下一个的时候,下一个的时候呢,我可能就是这样的,比如说我发生了一个报警的,这边一个报警了,那么接下来我要关联的是哪一个呢?关联就这个位了,是吧?关联这个位第一个好 啊,然后啊,每个位呢,我还要做一个总的一个报警,总的一个报警,这样的话我就可以通过比较指令,在这边我们做一个啊,比较指令啊,就是假如说我们这个变量是这个变量,然后呢去呃越野吸, 然后找到我们的呃 k 零啊,也就是说,呃,当然我们现在是一个运行啊,如果你是报警的话,那这边改成报警就可以了。那我们这十六个位当中任何一个位进行接通的,那么它都是不等于零的。一旦不等于零,那我驱动一个线圈,假如说这是 y 零,那么这个时候呢?我们就可以实现 什么东西呢?实现它的一个报警的一个输出就可以了,这样是也是比较方便的。好,那么这个就是我们最基本的这个变量。
粉丝2.6万获赞12.4万

这个视频呢,我们就把这个来看一下这个 prc 的这个就是时钟读取啊,再打开我们的软件,然后新建一个工程,等死工程啊,点确定, 然后在这边直接就数啊, l d 数一个 d 啊, m 八千,然后再数 t r d t r d 的话,就是直接从手手指啊,然后就是把它从到 d 幺零里面, 好,这就是冲到里面去了,现在我们就用这个指令,然后把这个时间读取到这个我们祖宗弟子里面啊,这后面已经占了,就是占了好几个地址了,这个是占了 年月日思风秒信息,占了应该是七个弟子,就是到幺六幺 六啊,到幺六,所以你如果说是这个,呃,指定然后写了之后啊,这后面到那个幺六你就不能用,因为就被时间这个占用了,不能用在其他地方,我用其他地方的语就冲突了啊, 然后我们这个不是看不见吗?然后在在这里可以软件使用列表里面可以看得见 d, 看到没有? d 到六,是不是啊?零点 d 六都已经被用掉了,其实我们程序里面就只能显示,显示出来,就这这么一个 d 幺零, 那我们把这个时间我们读取出来干啥呢?就是在那个出方屏上啊,可以做一个显示时间的,那一个就是显示啊,还有一个就是用来定时的,定时的,那么就简单的写一 一个就是 l d l d, 然后就等于,对吧? d 幺零, d 幺幺零,然后 k 二零二二,二零二二,对吧?就是二零二二年,然后就是 l d, 然后就是等于,对吧? d 幺幺,这是年,第幺零是年, d 幺幺是月,对吧? k 六是不是 k 六? 然后这个就是看这 d, 然后等于 d 幺二 月,第二十月啊,然后 k 二十七日, k 二十日啊, 再晒的一个就是 m 幺零,对吧?这就是用来就是是定定时的啊,定时的,然后我们把它抹捏一下,看一下 看到没有?这个就是首个例子,就是年,对吧?月日,然后这个到通, 那这个就是坐在什么程序里面,坐在什么地方呢?大家知道的可以在评论区里面留言啊。好,这个视频就到这里了。

那么除去了这个汇川,这是第三讲啊,第三讲的话主要是说一下这个,前面已经说了这个四毛通讯,那这一讲的话呢?主要是给大家说一下这个,呃,基本的指令控制吧。 那么这个 a、 l、 t 是 交替输出的意思啊,交替输出,这个是延时,注意了,这个延时 啊,这个是毫秒啊,毫秒,毫秒。别说 k 三千,就是三秒哈,如果 k 三万就是三十秒,如果 k 三百就是零点三秒,是这个意思啊,这是延时,是毫秒单位哈,然后这些置位复位就非常的简单了。置位复位非常简单, 然后这是线圈,这是线圈啊,大概就这些东西难度不大啊,难度不大。

大家好,我是阿凡,本期我们将介绍 ev 指令。 呃,再讲到 ev 指令的话,我相信很多在学过 c 语言或者是有相关高级语言背景的这个同学呢,其实对这个并不陌生。 呃,但是呢,我们需要在 s t 语言当中对 e f 语言的写法做一个了解。呃,而且有一些同学对这个 e f 指令 一幅语句,或者我们换句话这样讲,尤其是学过梯形图的这些呃,同学来讲,他是不太了解这个东西。好的,我们还是以例子来去说明这个具体的使用 我还是一样的,我们要新建一个去组织单元。 那本期课程呢?是已经是我们讲到这个 s d 语言的第三第三个小节了, 同样的是在这里面添加它。还记得我们在上一期当中所反复提到的那句话吗? 就是程序在没有被调用的时候是无法运行的, 还记得这句话吗?好,我们还是给它调用一下好了。 那么在正式介绍之前呢?呃,我想呃说一下关于这个异步语句呢,它的这个使用频率。 异步语句使用的频率是非常高的,可以这么讲吧,就是如果让我们使用 st 语言去编程,几乎不可能不使用异步语句。 注意是几乎不可能不使用异步语句,也就是说一旦用了 st 语言来去进行编程,就不可避免要使用到异步语句。 那 if 语句呢?呃,这个 if 在 英文当中翻译啊,就是如果 其实放在程序结构上来讲的话,我们一般称它为条件语句, 就是在什么什么条件之下可以执行什么样的操作。这样表述呢,大家就明白了,为什么 if 语句 它会如此不可或缺地在 s t 语言当中被使用到,因为我们编程一定是在某个条件下面去执行某个动作流程当中是这样,对吧? 工艺当中也是这样,所以我说一个具体的意, 那么讲到异辅渔具的语法呢?可能比如说我们在呃这个 s c l 就是 西门子的这个 st 边, 它的一些写法呢,会与我们的这个在 codecs 里面的这个写法都有一些这个区别,但是呢大同小异,它们俩的这个差异呢,不会太大。所以在这里面呢, 我们就不对 scl 相关的一些区分呢,去做比较明显的这个提示。那如果说 你在学完本课程,然后转向西门子的这个 s c l 的 时候,如果发现有一些不通顺的地方啊,没有关系,因为这个东西呢,在你使用到这门语言之后,你会发现其实两者之间的差异点是非常小的。 那么 if 语句的这个结构,我们可以简单地表达为是什么样子呢?大概就是 if 就是 开头,然后呢,在这里面我们需要一个不尔表达式, 在前面当中我们第六节的这个第一小节有提到过表达式的概念, 能回想起来吗?就是它是可以一个被能够完成值的计算的这样一个表达式。好,我们这里面说布尔表达式的意思就是它最终返回出来的结果是一个布尔型变量, 那换句话说呢,就是要么是真,要么是假, 也就是说如果条件是什么什么,那么我们就做什么。那,那这个我们后面紧跟的这个 number 我 们做什么?我们用英文的 n 来表达 这句话,到这没有结束,如果什么什么条件满足,那么我们就做什么什么。最后呢, 我们 s d 的 语法当中,这一行语句结束的话,会用一个分号来结束,那么 if 语句结束的话,它应该也有一个标志,与之相对的就是分的 if 这样,嗯,然后呢在这里再加一个分号。 好,我们需要注意一点,分号的意思呢,就代表一个语句的结束, 不像我们写作文的时候会用一个句号去结束啊,在我们的程序编程当中呢,是用分号来作为结束的,那么 if 的 结束呢,除了使用 and if 这样一个标识符 来代表这个一副语句到这就结束掉了,我们同时呢也会加上这一个分号, 所以我们判定有多少个语句,从某种程度上来讲是通过数这个分号的形式。当然了,实际编程过程当中呢,我们也不需要去考虑多少个行数, 因为现有的 plc 呢,其实容量都是非常大,所以这一块倒不需要特别去讲啊。这个地方简单介绍啊,我们再举一个具体的例子, 比如说我这里面设设计一个变量,这个变量的名字呢,指代的是温度, 然后呢我再用一个库尔变量来代表加热器, 那么我们要完成一个逻辑的表述是什么呢?我们假假设胶带是一个这样的一个背景,如果温度, 我们讲空调啊,比如我这里是要完成的是一个中央空调的这样一个温控,如果温度大于二十二度 和加热器不工作,如果温度小于二十二度,那么加热器则工作。那么有同学会问,如果等于二十二度呢? 等于二十二度似乎也不需要他去工作,对吧?比如像现在这么冷的天,到了二十二度,那么加热器呢?也是可以停止的,只有在这里面条件呢?我们补上这个。 好,这个条件呢,其实实际上是大家常看到的这个自然语言语言逻辑, 我们如何将它转变成我们程序能理解的这个语言呢?好,我们来转一下哈。首先讲一下 我们刚才提到了这个 if 的 语法,这里面是不是构成一个条件,如果温度大于二十二摄氏度,则那么加热器关闭, 加热器的关闭呢?我们就用这个 heater 的 开或关来代表, 对吧?那么如果加热器大于等于二十二摄氏度,那我们写的话就会变成这个样子,是不是 if, 然后它,然后后面是不是会加一个 then, 是 吧?好, 怎么表示加热器不工作呢?我,我们是不是会用到上一个小节我们讲到的布置指令, 我们给他复一个 boss, 他 是不是就没工作,可以这样分号,然后呢,这里再补一个 and if, 这样写对不对?好,那么下面这句话呢,也是同理的,对吧?好,我们在连续当中实际去编写这一段话哈,就是如果 在屏幕前的你现在有条件的话,可以跟着我一起练习一下。好,我们先敲 if, 哎,突然发现好像没有这么复杂,是吧? 我们的智能提示呢,直接帮我们把这句话给敲出来了。好,我们再看一下它的结构,跟我刚才讲的结构 有一些差别,这个差别在哪?大家应该能够比较好发现,就是发现这里面多了什么,多了个这是吧?多了个这,然后呢?这是不是没有分号? 这是不是没有分好好,这里面呢?这是差一点啊,我们挨个来讲,首先第一点呢,这个 else 其实代表的就是其他的情况 啊,这也是英文当中他的旨意啊,其他的情况,也就是说如果前面什么什么条件,那么怎么怎么样,那么这一个条件讲完之后, 他是不是还有其他的条件他没讲,我们把这个条件当中他所没讲到的其他的条件也放在一副语句当中,这样的话就能够构成逻辑上 的完背型。哎,大家会发现,就是我们的智能提示呢,会天然地提醒你去思考一个逻辑的完背型,这个为什么要这样去做 啊?我们举一个小例子,那么刚才我们讲的是一个中央空调的这个控制,你会发现,如果我只写 ev 条件,比如温度大于二十二摄氏度, 对吧?啊?则怎么怎么样?这句话写完之后,我们有的同学就会忘记温度小于二十二摄氏度的情况,他不写了。 大家不要以为这种状态是我在这里夸张的去讲,我们在实际的编程过程当中,会经常发现,我们的一些工程师在编写这个 e f e g 的 时候,他不喜欢考虑 事物的反面,也就是其他的情况他不考虑的。我们讲一个硬币它有正反两面, 你不能光考虑好的一面,对吧?你还要考虑坏的一面。我们的设备呢,实际运行的时候也是这个样子,比如说更通俗的情况是,假如说某个传感器 这个 sensor 亮了,我就执行什么什么逻辑?大家就天然地认为这个 sensor 亮是一定会出现的,可是我工艺逻辑就是这个样子的, 但是实际情况真的是这个样子吗?不是这个样子,实际情况很有可能 sensor 坏掉了, 它就倒霉,催的它就坏掉了,而且这种情况呢,是经常有的,我们在实际过程当中还会遇到什么 sensor 感应不良,就它也不是坏了,因为物料不行,对吧?物料上,比方说物料上有孔啊,有有很多这种小孔, 还有的物料,比如这种片式的物料,它上面敷了一层薄膜,它会反光,考虑到我们这种 sensor 一 般用的是慢反射,那么它的反射这个地方条件发生的变化,有可能它也感应不到了。 那么为什么说很多程序写着写着就死机了,又没有报警, 这样一讲就明白了吗?为什么写程序写的写不好,写了死机,很大程度上就是因为你不考虑其他的情况,你只考虑正常工作的情况,怎么可以呢? 任何一台设备在工作的时候一定是会有异常情况的出现,那有些同学就讲,那我就把异常考虑,那反过来又换句话说,你只考虑异常的情况吗?万一它就是好的呢? 是不是好?所以呢,大家会发现啊,我们学习编程,学习这个工业软件的编程,其实你会发现这个语句这个东西,它不是很复杂的一个东西,它根本目的是要完成什么 工程应用,就工程上是是会有例外出现的,是 你不要认为工程上没有例外啊, 而且这个东西是非常普遍的,这个为什么干这一行的工程师经常要出差, 为啥?往往是现场出现的情况不在你的程序考量范围内,他人出差没有办法, 他就要去搞搞定这个意外搞定这些是些没有考虑的事情。那相反的一些比较牛的一些人啊,很牛的这个工程师,他出差很少,设备运行也很稳定, 这个其实就能看出来,这个思想上的完败性是完全不一样的。当然了,我们作为初学者, 一听到这个可能就有点难受,为什么呢?我一个初学者,我写程序,我怎么可能写的那么完败呢? 是不是?我想说的是啊,这个你也不要着急犯错,人人都会犯错,但是呢,我希望你记住我,我讲的这个结构, 这个语句提示当中给你提到的 else 的 这种情况呢,就是告诉你,你写程序的时候多想想这个,这样呢,你写出来的程序不会太差。而相反呢,只会这条语句的这个同学呢, 他可能就只考虑当前他所认为的这种情况,其实这个呢是需要练习的,这个倒不用着急。好,我们说的第二个稍微跟刚才我所讲的地方有些区别的是什么呢?我们的 endif 这样是好像是不是没有分号是吧? 呃,这个呢,你加的分号呢?没有影响啊,也没有影响,不加分号呢,也可以 在这个 colis 系统当中呢,其实对这个做了简化的,那么你在西门子当中是不行的,西门子当中必须得加这玩意儿, 在 plus c 当中是可加可不加啊,所以看到这儿不要有太大的疑问啊。好,我们继续讲,那我们讲这个地方,它是一个不尔表达式,那我在这里面呢,首先就完成我刚才这句话的编写, 我要求它大于二十二,对吧?这里面就没有单位之说了,对吧?我们这里面声明,它的单位就默认是摄氏度好,如果温度大于二摄氏,二摄氏度,我这个加热器就要关掉, 我们用赋值语句 boss, 然后呢,其他的情况啊,我们就让这个加热器 工作啊,这样的话,大家就会发现, else 的 某种作用,其实呢,就是在变相地完成一夫一卒的功能, 因为这句话我们还可以这样写,对吧?我们怎么写呢? if 啊,我不要这个 else 啊,不要这个 else, 这也可以,是吧?然后呢? 然后我们放到这, 但是呢,写完这之后,我发现还有等于我没写,是吧?等于没写。所以我还得再加一句, 刚才说的是等于二十二的时候让他不工作,对吧? 那么这句话是不是就等于是这三个一步一局的一个总和,他看起来会更加简洁一点?我想问一下,是不是这个样子, 如果现在屏幕前的你说是,那你就掉到我的陷阱里面去了。你没有仔细理解我刚才所说的啊,这个东西跟上面这个东西不是等价的,不是等价的。 有些人会问啊,这怎么可能不是等价呢?我告诉你,为什么不是等价呢?你看一下啊,这个跟这个是不是一样的?好,没毛病,好,问题就在这儿, else 代表什么?是不是其他的情况? 那么其他的情况是指什么呢?是不是指 temp 小 于二十二,且有可能等于二十二,是吧? 你再看一下这个逻辑,它在等于二十二的时候,这里是 false, 这里是 true, 这两个是一样的吗?不一样,我是故意这样写的。 所以呢,大家在使用上面这种范式的时候呢,其实是比较 谨慎的啊,比较谨慎的,你一定要看清楚你前面一副语句的这个条件跟后面之间的一个差异,你不要像你心里面想的是这三个句话,你写出来写错了,这是要练习的。那我们怎么改? 我们是不是可以改成这个样子 啊?我再问一下,就是这两者之间是等价的吗? 能不能很自信的回答,我,对它就是等价呢? 首先这个部分是一模一样的,然后它的反面是不是大于或等于二十二的, 可以的,对吧? false, false, 对, 它俩是等价。那有人问下面这三句话写起来太麻烦,有没有一种简化呢?但我也不想用这种。也可以, 这两个条件呢,其实是都是执行相同的操作,所以我在这里面可以去加一个语句,加什么或者或者什么呢?或者 temp 等于二十二二。那么这句话呢,其实就相当于是原来这两句话之间的一个一个总和,就跟这句话是一样的。那现在有同学会讲 这个,老师你这个说的说了这么多,那实际上是不是这个样子,那我我也不相信你说的这个东西啊,咱们是骡子是马,是不是得拿出来遛一遛?是的,我们也得测试一下,不管我们怎么做,我们要测试一下。那这部分呢,我先不展示,我先把它注视掉啊, 大家可以选择在这个地方右键点一下这个,这部分就不会运行了。好,然后我们点击把它下进去。 本期的内容呢,看起来是不是很简单,但是要讲的真的,这里面的细节是非常多,很多同学对一夫一卒的使用 都是停留在,即便是我们一些工程师啊,都是停留在仅仅理解初级的一赋一局的使用。好, 因为我们的 temp 值是零,所以我们现在是不是要加热,对吧?好,我们现在试一下啊,找第一个临界点。第一个临界点在哪?是不是二十二,是吧,按道理来讲应该是要关掉它的, 所以在这里面我们引入一下它,是不是把这个 heater 给关闭掉了?加热是不关闭掉了,这里再改成二十三啊, 好,作用是一样的啊。好,这个地方我们验证了,那我把这里给这个地方,我先给它注视一下,然后我们请用下面这段代码。 那为了为了说明刚才这几个例子间插眼,我还是先把这个删掉啊,我们再看一下效果。 好,我们在线修改一下。呃,因为我们在线修改,所以刚才这个 temp 的 值是二十三,那么通过运算,我们知道 它这个时候应该负一个 false, 对 吧?好,那我改成二十二, 哎,一样的,下一期也是不工作的,我们再改成二十一呢, 我们下一期也工作了。好,我们再改成刚才这个逻辑啊, 改这个,那这句话我就把它删掉了啊,复试掉。好,我们再看一下这个逻辑是不是一样的。 哦,这个逻辑是等价了啊,我再改成,再改成二十二, 哎,立马就不加热了啊,改成二十三呢, 这个地方呢,也是不加热,那就证明呢,刚才这段 这个语句呢,完成了这句话跟这句话之间的一个总和,那么我现在来看这个结构呢,它也是合理的,为什么?因为这个它仍然是一个不尔表达式,只不过我们加了一个或者的关系, 所以我们在前面去讲表达式的时候呢,特别提到了这里这个概念,大家要去慢慢体会跟应用它。 那讲完这个部分呢?其实呢还不够,还没有讲完,为什么还没有讲完?我们已经把 else 这种方式呢?已经讲出来了,但是呢还会存在 一些比较特殊的情况,这个也是大家要去体会的啊,什么特殊的情况呢? 比如说我要求这个加热器呢,我现在呢不是一个加热器,我有两个加热器, 但我的条件也发生了变化,我条件发生什么变化?我要求如果温度在二十二到二十五这个范围内呢,我就开启保温,怎么开启保温呢?我就只开一个加热器, 那如果小于二十二摄氏度呢?天气比较冷了,那么两个加热器都要工作。反之呢,如果超过二十五度太热了,则两个加热器均不工作。 这是我讲的逻辑哈,大家听完,那么对于边界处的处理呢,我们也讲清楚,二十二度 这个边界呢,我们是这样一个方式,就是如果是二十二度或者二十五度的话,都是为是保温。好,那么这个讲完之后,我们来再看一下这个语句该怎么编写 好。因为有两个加热器,所以在这里的电量呢,我们稍微要再加一下,加一个什么呢?加一个二号加热器, 我们再去看一下刚才所说的那个条件,那么这个地方则变成了一个什么情况呢?刚才讲了,如果大于二十五度, 则两个加热棒都是关闭状态,对吧?好,那这个地方呢,我们可以直接把逻辑改成这样,如果温度 大于二十五,那么第一个呢?加热棒我就让它关掉,那第二个加热棒也很好写,是吧? 那么按照 else 的 说法,这个时候我们发现难点来了,因为考虑的是例外的情况,也就是说除开 大于二十五摄氏度以外的所有情况,那么就是说明等于二十五摄氏度或小于二十五摄氏度的时候, 这些情况我要写出来,是吧?那这里面就产生了一个问题了,那我们怎么写呢?对吧?这样讲是不太好写的 啊,这个时候肯定有些有聪明人会讲,没关系啊,你里面那个条件不也是条件吗?我用一幅语句嵌套一下,是不是也是可以的? 对,这个地方呢,我们要讲的就是一幅语句的嵌套,那么一幅语句的嵌套是可以实行的 啊,就是语句当中再嵌套一个跟它相同语法内容的语句,是可以这样做的。好,我们再把刚才这个条件拿出来,我们看一下怎么写。如果 temp 现在是例外情况啊,就一定在这个范围内,考虑的就是小于等于二十五度,对吧?我们刚才讲了,就是二十二到二十五度范围内呢,要保温的,也就是只有一个加热器是开启的, 那么现在我已经小于等于二十五了,那我这个地方是不是大于二十二或者 temp 等于二十二,对吧?我就把这个条件改成这个样子,只改一个啊, 这样的话,这个是不是就完成了一次保温?那么它的例外的情况是什么呢? 哎,大家注意啊,这个地方大家可能会产生一个疑问,就是我知道那个老师,你不是说这个地方它是它的例外吗?那这个地方应该就是它小于等于二十二或 啊,没有火。注意啊,这个条件就是大于等于,那这个条件就是小于二十二, 这个理解是正确的啊,那这种情况,下面我们是要全部加热, 这个地方也完成了这个逻辑的编写,我们来实验一下啊, 二十三度刚好是处于保温的阶段,我们把这个改成二十五 啊,改成二十五也是保温啊,也没错啊,改成二十六太热了,现在很热, 好,立马两个就都关掉了,那如果说它是二十度呢?也太冷了啊, 你把两个又开起来,就说这个逻辑通过嵌套的形式,我们完成了这样一种编写,那么一定会有同学讲,那我可不可以用下面这种形式来写呢?也可以, 因为嵌套的这个这个动作呢,就这种写法。呃,很简洁,但是呢,他在理解上 是不太好理解的,为什么?因为他要看到这个欠套之间的这个关系, 所以他在理解上面是不太好理解的。所以关于欠套呢,我的个人推荐呢,就是,呃,初学者可以考虑只做到两次或者叫两层的欠套, 就是一个 e 赋语句,下面最多再加一个 e 赋语句,那么单层的嵌套,比如在这下面再加一个 e 赋语句,我不太推荐啊,这个我是不太推荐的。 呃,作为初学者来讲的话,不需要把逻辑搞的这么复杂,大家一定要理解啊,做事情不要搞复杂,这种写法也并没有什么不好,这种写法反而更直观,你理解起来很直观, 他虽然显得很长,但是他理解是容易的,大家不要被形式所误解啊,我们有些人特别追求形式上的,这就是简洁,但是呢,不注重内容上理解的 一个见解就是你好理解好操作好去说明的。这种逻辑呢,其实反而更适合我们的初学者或者是开发经验尚浅的这个人。 但是呢,随着你工作年限的这个增加啊,你这几个语句基础基础基本功搞得非常扎实,那这种情况下面你用三层剑道,我没有任何意见,只要你能够控制得住, 没有任何问题。但是呢,即便是资深工程师,我的建议也不建议超过三层以上,因为超过三层以上在理解跟书写上面都是不变的。 那这里面会引发一个问题,我们这个一幅语句到底能嵌套多少层呢? 从这个形式上来讲是无限的啊,可以实现无限的嵌套,但实际上呢, 呃,我这个说法我没证实过啊,因为我不太想去试它,因为觉得意义不大,大家有兴趣的可以试一下。据说是完成五层嵌套,这是变异器的这个极限 啊,这个说法我并没有去证实哈,感兴趣的可以去试一下。是五层签到,在这个 s t 语言当中啊,算是它的极限,但我认为这个说法可能是 错的啊,我觉得它可能是错的,我只是提出来这个问题,有感兴趣的可以去验证一下。好, 这个讲完了之后呢,我们在想这种写法是不是还是有改进的余地呢?回答是正确,还有改进的余地。这里面我们会介绍一个新的一副语句当中的一个指令,叫做 elseif, 其实很多高级语言的这个学过高级语言的同学已经知道了, elseif 就是 这里面可以说一个条件,然后可以再说一个条件,还可以再说一个条件,条件是并行的, 就是但是优先要判定上面条件,要判定下面条件。好,那这种的话我们可以给它改造一下啊, 这个部分呢, 然后我们把这个地方给注视掉啊。 else if 的 意思在是什么意思呢?就是其他的语句当中,如果条件是什么什么什么,它其实就是把这俩 缩写在一起,那有些高级圆当中,它其实不缩写,它就是空了个格,然后这样写,那我们就直接按照这个方式, else if, else if 什么呢?如果 这样对吧,这个地方就比较好写了, 也就是说当这个条件满足等,就是如果大于二十五这里,那么如果条件大于二十二或等于二十二的时候开启这个, 那这里会有人问啊,那这个跟前面这个是不是又又不一样呢?刚才那个写法是不是又不一样呢?啊?对, 这不一样,但是呢,你要理解它是它的其他的情况,但是呢,这里面又又用 e f 语句,但是又把刚才这个 e f 语句呢,相当于是缩写,它仅仅只完成这个功能啊。好,那么刚才讲的这个 else 呢, 是不是直接可以拿出来, 这个就是例外的情况啊? 这样的话是不是发现没有嵌套了?大家千万要注意啊,这个东西是最绕的,是最绕的啊,先看一下效果, 因为我我刚才已经把它的演化已经给你给你讲了啊,它实际上就是把这个嵌套语句并到上面这个 else 里面去, 那么二十度的时候肯定是两个度加热啊,没有问题,然后再二十二, 好,嗯, ok, 二十二的话就相当于只开一个二十五,看一下也是一样的。二十六, 我们通过 else if 呢,也完成了嵌套于相当的一个功能,但是 else, if 呢? 呃,我们想说的是什么呢? else if 它后面不一定会跟这个 else, 有些人他写的是他,他会把这个地方省略掉,所以这个条件会变成 if, else if。 但是呢,因为没有 else, 所以 如果前两者条件不满足的话,其他的这个条件你又没写的话,你就会漏掉这个逻辑。 这个部分呢,大家要通过实验去体悟这个判断的这个感觉哈,判断的感觉从上到下逐级判断, 我们关于 if 条件的这个语句呢,就全部讲完了,我们回忆一下刚才讲的 if 语句的这个形式,还有嵌套的关系, 还有 else 的 这种 if 语句,以及 else if 的 这种分支语句。 好,本期内容就到这,感谢观看。

这个会川 b r、 c 的 在线修改,你会用吗?会啊,那你把我这边这个紧急停止长 b 改成长开,可以先怎么弄?先点这个吧。啊?点开,然后我双击一下, ok, 改成长开,对吧?点确定 ok, 然后呢? 下载, ok, 这样你看机器信号也有的,就像在线进行修改,然后进行直接下载。

每日学习 plc 四八五通讯是公控人必须掌握的技能,这条视频我将用幺二零零作为主站,与汇川 h 五 u 作为从站进行四八五通讯,从接线、硬件组态到编程,看完让你彻底掌握。第一步,接线西门子通讯模块上的三号引角接到汇川四八五正端子上, 八号引角接到会川四八五副端子上。好,来到博图这边,我们要先给幺二零零添加好对应的通讯模块,因为它本质不具备串口通讯的能力。添加好模块之后呢,我们来到程序这里, 我们要用到的指令呢?在右边的通信通信处理器 modbus r t u 一个 modbus com load 的 指令, 这个是主站定义指令。第二个呢是 modbus mess 的 指令,这个是用来读写我们来自从站的数据的好,然后我们开始填写真假, 这个 r e q 呢是出发, 我们可以用系统脉冲首次循环 m 一 点零, plc 上电的时候接通一次。 然后这个 port 呢是硬件标识符,我们双击这里,点击这个小书本,然后选择我们的硬件标识。 这个 b a u d 是 波特率,直接用默认九六零零,这个是基偶效应,零是无效验,一是奇效验,二是偶效验,我们直接用零默认的无效验。然后这三个零我们直接不用管, 这里最大超时等待时间,我们用默认的一千毫秒。然后这里的 m b d b 呢,我们要用这个 modbus master 的 背景数据块,我们在系统块这里 双击它的背景数据块,然后将它拖出来,将这个 nbd 拖到这里好, 然后右边的这个当是它的完成位,当 plc 向电接通一下的时候,检查这些数据都没问题,这个地方就会输出一个延信号,我们给他填一个地址 m 五点零。好,然后这个 mas 呢,我们再复制一条,一条用来读取,一条用来写入 这个 r e q 呢是它的触发,这个指令必须要在主站定义指令完成之后,这两条指令才能进行起用,所以这里的 r e q 呢,我们要先这样 用主站定义指令完成位的延信号 来置位一个信号, 置位 m 五点二, 这个 m 五点二就是第一个 master 的 轮循触发,当这条指令读写完成且没有报错,它的弹会输出一个信号,然后我们用它这个弹的信号复位掉第一个轮循,然后再置位第二个轮循,这样第一条 master 指令读写完成后,第二条开始触发, 然后这里我们用第二条 master 指令的完成位复位,第二个轮循触发,再重新触发第一个轮循, 这样子它就能一直循环下去。好,我们接下来接着填写,这里的 nba 爹呢是账号的意思,我们直接写以账号为一, 这个谋,第一呢是模式,零是读取,一是写入,所以第一个我们可以直接写零,这条用来读取。下面一条我们用来写入。好,这个 data id 呢是从站 moddbs 通讯地址 西门子的起始地址是四零零零一,我们这里直接写四零零零一。好,下面呢是数据长度,意思是以四万零一起始的多少个地址,我们这里可以写一个二, 读取四万零一起始的两个地址,就是四万零一和四万零二,然后读取的数据放在哪里呢?这个地方就是写我们存放地址数据的位置, 我们新建一个 d b 块,用来存放读取和写入的数据。 好, 我们这里读取搞两个,写入搞两个,数据类型必须是十六位的,我们用 ing 好,然后将这个 d b 块的优化取消,取消掉之后我们点击确定, 确定之后再将这个 d b 块翻译一下,翻译一下之后它的偏移量就出来了,然后我们用纸针指向它的偏移量的起始地址, 我们就这么写, p p d b 三点 d b x 零点零空格因 t 空格二就是将四万零一起使的两个地址 存放到 d b 三数据块零点零起始的两个硬体里面,就刚好对应上好,然后下面也是同理,上面已经四万零一到四万零二,用来读取下面的地址就要从四万零三开始, 然后长度我们也写二,然后存放地址呢,我们就要从这里开始了。四点零开始起始的两个,也就是批井号 d b 三点 d b x 四点零空格,英 t 空格二。 意思就是将四零零零三起始的两个地址放到 d b 三数据块四点零起始的两个英 t 里面。然后很关键的一步来了,我们要将主站定义指令背景数据块的 m o d e 改成四。 至于说为什么要将它改成四呢?我们可以点击这里按下 f 一。 按下 f 一 之后呢,我们来到下面,可以看到 modbus com load 的 背景变量, 这里的木改成四式半双工 r s 四八五两限制模式,所以一定要将它改成四才是四百八十五模式。好,这样改好之后,我们就可以将程序完整地下载进去, 下载好之后我们打开监控,监控程序以及 db 数据快三 好,然后我们来到汇川这边, 汇川这边呢,我们需要修改的地方,在这里我们要先双击这个 com 零, 然后它默认的这个协议它是无,我们要将这个无改成 modabas r t u。 从站 修改好之后呢,我们要在这里设置好我们的通信参数,这里的波特率要和西门子那边的九六零零对应上,数据长度未默认的是八位奇偶效应,西门子那边我们选择的是无,这边也要选无, 停几位用一位,然后加号一跟那边对应上真间隔用默认的两毫秒,然后点击确定,点击确定好之后呢,将程序下载进去, 下载进去之后呢,这个时候就已经可以用来读取和写入数据了,这个时候有人要问,那么它的地址数据存放到哪里呢?我们点击这个软圆键表,汇川的这个 mod b u 从站数据存放地址, 它是放在这个地区,为什么放在地区呢?我们可以在这个帮助这里点击这个帮助手册,然后点击这个汇川五 u 和 e c 的 这个手册, 然后,然后在这个手册的下面 第八将这个八点五 modbus 从占配置,然后点击这里。 点击这里之后呢,我们可以在这里看到作为从站使用时可以被 modbus 访问的寄存器地址如下, 所以是存放在这个地区。好,我们回到这个地区,打开监控,西门子那边的起始是四零零零一,惠川的起始地址是四万, 这里的地灵就是存放四万地址数据的寄存器后面同理我们给这里都写两个数据,看一下西门子那边能不能读到,我们右击将它写入内存,写入内存之后,我们看一下西门子那边能不能读到。 好,可以看到西门子这边已经读到。读到之后呢,这里我们也写入两个数值,看一下汇川那边能不能读到。 好,写好之后,我们回到汇川这边,可以看到这个值也已经读到。到这里呢,我们的通讯就已经完成, 感兴趣的小伙伴点个关注收藏,以防不时之需。有不懂的在评论区可以询问主播哦!点个关注,我们下期见。

下面讲一下 eon pro shop 平台垂直曲线的一个使用方法,在这边呢,我创了一个块啊 pro, 然后呢我调用了它的实力话,待会呢我们就通过创建垂直曲线的方法,然后去监控里面的变量。 ok, 然后我打开,打开之后你来到这样一个界面,横着的呢是他的一个时间域,代表他的时间,竖着的代表他的数值坐标域。 ok, 第一步是配置所选跟踪, 在这边呢,我们选择我们的 trace 一, 然后呢,第一个是我用我的变量去触发我这个 trace 曲线, 第二个是我连续跟踪,我去一直的触发它,我们先用第一个,然后呢你选择你的触发变量之后,然后选择我该变量的状态啊,我是在上升沿还是下降沿啊?或者说我一上升沿或者下降沿我都可以触发这个垂直曲线。 ok, 在 这边呢,我们用连续跟踪啊,在这设置你的一个设置点的一个个数,包括你最大允许他采多少 m b 达到上限时呢?是要停止跟踪还是删除旧文件,最大采用时间是多少,以及你要保存到哪个地方。 ok, 那 么我们选择任务啊,主,我们选择的是主任务,不是总线任务,因为我们是在主任务里面写的程序。好,我点击确定,确定之后我们就可以添加想要的变量,在这边呢,我们只需要右键, 只需要左键。然后呢在这个 application 这边去找了这个实体化啊里面的一个引脚,这是它的输入引脚。 ok, 然后在这边我们可以右键继续添加,或者说呢,你指向这边添加跟灯变量,也是可以再添加一个的, 那么下面我们来添加第二个,第二个还是指向这个实际化,实际化的 out 输出引脚。好,那么我全添加好了,还有我还可以配置我想要的颜色等等。好,我配置好之后我点确定,然后呢右键 啊,我要先这个登录到 下面,我们先启动 plc。 好,那么你可以看到这个程序目前是正常的运行了,然后呢我们这边可以点右键去下载这个更多变量。好,那么现在你可以看到我,我这个变量呢,这个 in 跟 out 呢,全都是零。 之后呢,我们可以点击右键这个光标啊,点击右键光标去不断的去拖拽它,你可以看到这边有数值,这时候呢是为了我们不方便直接观看这个啊,这个坐标的时候呢,我们就可以拖动这个光标来看这个数值的一个变化。好,那么现在我们先来停止跟踪, 停止跟踪之后我还可以再继续下载跟踪,或者再开始跟踪。好,那么我现在停止,然后呢重新下载一遍, 嗯,现现在就相当于重新下载了,重新下载之后,我们我们就先来先来去触发这个引脚的一个变量。好,我先将启动设为, 你看到他这个结果呢,也是会瘦了,假如说我这个会瘦死,那么好他也会瘦死,这时候我们这一次曲线里的变化呀,就时时刻刻的反映着我当前变硬了一个变化。好,我们来分析一下,这个横着呢是他的时间 啊,我们从零到十秒,大概在这个九秒往后一点的时候呢,这边我就可以看到我的 in 跟我的 out 呢它的值由,然后就看这里是从零啊,变成了一,然后我就拖动这个光标,不断的啦啦啦。 好,拉到了,可以看它变变为一了,这边呢是最明显是最方便观察的。还有一种办法是什么呢?好假,假设我们在这个曲线中有多次出发点,该怎么办? 好,我现在开始跟踪,然后呢?我去多次的去出发, ok, 这边可以看到我出发了多次啊。呃,那么好,在这个在这个吹牛圈中呢,我想看这个变量啊,在这个,在这个时间与范围内到底有多大或者有多小,该怎么办? 这是第一个光标,然后再右键。这是这是第一个光标啊,我现在拉到我想要的一个位置,然后呢?啊,我的其实位置设好了,我再设我的结束值,好,我把它拉到结束位置,那么你可以看到这个光标到这个光标的范围内呢,这就反映着我的一个, 这是反映的我这一个数值这些好,那么我再点一下光标之后啊,他就消失了。假设我想看这个 曲线啊,想这样细细观察,想这样细细观察,除了用鼠标滚轮的方式呢,还可以通过这个鼠标缩放的形式来实现,我只需要这样拖动,哎,我想要的地方,然后呢再这样拖啊,不断的放大, 现在两个曲线太麻烦了,之后如果嫌两个曲线太麻烦,我们可以点一个转换完单通道。 ok, 那 么你可以看到在这边的话,我两个曲线呢,其实都是一个重合的现象,然后可以再转为多通道。 之后呢?我,我假如说我放大啊,我在鼠鼠标滚轮缩紧是很困难的,我可以点击重置试图。好,你可以看到它不但啊继续运行了,它还打断了刚才我们的一个画面啊,那么这个 trace 曲线的讲解呢?就结束了。