粉丝4.1万获赞15.3万


大家好,上一节课呢,我们用计数的方式写了一个流水灯的自动程序,然后这一节课呢,我们用数据移位的一个方式来写流水灯,其实还是有一点难理解的啊,就是说如果你们新手刚刚学习的时候 啊,大家看看就行,大家不用理解啊,或者说你理解不了的时候也不用被烦。好,我们只是给大家展示一下啊,离线调试, 我们的目的呢,就是说想告诉大家,我们想完成自己的自动程序啊,方法是有很多种,每一个 plc 工程师呢,他都有自己的不同逻辑思维能力,所以说写出来的程序也是不一样的 好吧,然后这一次程序呢,就作为一个演示啊,然后我们点击启动按钮,流水灯开始运行,停止, 再启动,好,点击复位。简单跟大家讲一下他的一个呃写法。首先大家看一下,前面两排是作为一个监控用, 而这一排呢,启动按钮启动之后,我们 m 零自动运行,当我们 d 零 d 零代表一个流水灯指示,当我们 d 零等于零的时候,则 was set 一个 d 零点零, 这什么意思呢?就说我们一个 d 代表一个字,一个字呢代表两个字结,对吧? 那么一个字节呢,又代表八个位,那么换算下来,也就是说我们一个字代表十六个位,对吧?所以说,当我们地零其实是可以代表地零点零到地零点十五, 对吧?呃,大家能理解就理解啊,如果不能理解就算了。然后我们继续看停止按钮,则 reset, 然后复位按钮呢?还是一样 reset m 零,然后 move 个零给地零 自动程序这样写,当 m 零得电之后,我们用一个一秒周期时钟 r、 o、 l 呢,是一个数据左移位指令,也就是说把我们 d 零的 d 零里面不是有十十六个位吗?然后我们当第一个位等于一的时候,则依次向左移动, 然后我们因为我们只写了六个指示灯嘛,对吧?六个啊,这里写了七个流水灯,当我们第八位的时候,第八位自宫的时候,则我们循环到第一个零,对吧? 第一位,那么我们第一个零指示灯,当我们 d 零点零至位之后,则 d y 零得电。 ok, 这个程序呢,大家参考一下啊,能理解就理解,如果不能理解的话,我们 呃,慢慢呃,对 p、 l、 c 有更深的研究之后再去理解。好,今天课就到这里,感谢大家。

国产 plc 崛起,市面上竟然都没有一本关于汇川中型 plc 的教材,那这个时候我们就要出口了,那这本汇川中型 plc 编程英语指南就会从 ld 和 st 两种语言去讲解定时器、 bef、 case、 头控等几类,再到更加深入的数组结构体、功能派等等。最后就是通信和设备实操了,所有的支点都会有大量的习题进行练习。

好,我们来看一下我们的编程是怎么编的?好,为了节约时间,我把这个我们事先已经输进去的程序就调出来给大家这个看一下。在这里面呢,我们是一个六百有三个轴,这个三个轴呢?是 啊,在这里面我们可以 mate 对它进行这个根据实际的连接呢, 第一个轴是这个这个轴呢是椎检轴,第二个呢是非检轴,第三个呢是这个传中带轴啊,这是世界志愿计划。在这里面,我们 在程序里面我们怎么写?这有一个必不可少的,我们是有一个同等曲线,在这个曲线里面呢,呃,我们是它的 这个轴的这个长度是一百二,这个一百二呢是根据我们,呃,等一会再看到这个设备上面,从这个 传感器到这个剪接点的距离大概就是一百二十个毫米十二公分。啊,这是啊,这个重轴的这个位置呢是多少呢?是三百六啊,我们看看这个这里面就知道他从零开始,这个是到 三百五十八,嗯,这个呢 x 轴呢是零到一百二。好,在这里我这个解释一下,为啥要用三百五十八? 因为呢这个我们用三百六的话啊,如果呢是在他间歇停止的时候,因为这个轴有可能会往前面冲过去一点点的,这个时候如果是下一次来这个 说话的时候,那个轴有可能会反转一下,抖动一下啊,这个是往前抖动一下,是可以理解和接受的,但是那个反方向抖一下,这个是不合理的,所以呢我们经过这个实验呢,要把它折成丝 三百五十九或者三百五十八是比较合理的啊,这个在调试的时候就知道了。还有一个我们这个是 有个全局变量,这个全局变量呢是因为,呃高速中段里面他是要用的这个,把这个标志支起来, 在伊斯克的中单里面要读或者这个读取这个标志,呃再来进行判断处理。因为在不同的 p、 o u 里面,呃要用到这个标志,所以这个标志呢必须要把它放在呃这个 g、 b、 l 这叫全聚变量里面。好,这个是 我们这个程序呢,是主程序,在这个主程序我们看看在这里面我们有几个程序呢?一个是主程序,就相当于呃多任务里面呢,我们这一个公用的这个用户系统的这个程序,也就是说比方说是二十毫秒执行一次的叫主循环啊,大家可以理解成为主循环。 嗯,在这个主循环里面我们做了一些什么事情呢?只做了一件事情,就是把这个 sm 九三九五这个标志呢,把它指到一啊,这个这个标志,这个呃大家可能要记住一下,如果我们要要死能这个 高速中弹的话,外部中弹这个标志呢,这个就要质疑,不然的话他的这个他是个硬的,这个直升雪他是不会直行的。这个标志呢就有点相当于我们八零五幺里面的一个 哎,一维啊,这个是所有的编的标志,这个,嗯,所有的中断的执行的一个标志啊,在我们这个 hiu 里面也有类似的这个标志啊,因为我们设计的程序是有点接近我们支持我们这个小票设的这个编程思想的啊,这是这个 在这里呢是一个这个程序呢是放在嗯, came 这个菲姐呢是放在 excel 中单里面呢,在这个中单里面啊,在这个中单里我们看做的像什么工作?在这一个主要的工作是在这一个里面哈, 我们先再讲一下这个简单的外部中单里面干了些什么事情。外部中单里面呢?做了一个工作,呃,是进来以后他只把这个标志知道个一啊,这个是全聚变的,这个标志进来以后他这个字 一个一,这个值得一个一呢,就是说我告诉说我遇到过一次啊,这个中大一来一这个手表信号了,在这里呢,上面这一行呢是没有意义的啊,这个是一个二,等于二加一,这个编程的时候我建议大家也可以采用这个方法, 如果我想知道这个中弹有没有进来过,那这他这个爱是进来过,他就会变大啊,或者进来一次他这个射标过去一次,他就会这个增增长一个,是吧?这个是我们懒得判断用的好。看来的话这个所有的程序都只在这个飞检这个程序里面 啊,主循环里面是一只有一句话,这个中单里面也是只有一句话在这里面。我们看看 在这个里面呢啊,就跟我们在前面讲的那个是一样的, 就是我们把它分了几个状态啊,做了几件事情,在这里面一进来以后第一件事情就检查这个射标信号是不是被出发过,这个这个标志是在中单里面,外部中单里面出发过,如果是 等于一,也就是被职位过的话,那这里面来做件事情就是呃,这个把这个外面的这个当前的位置给记下来,这次我们在前面程序里面啊,这个前面讲了说怎么登记在返程里面就做了这个工作, 这个缓存区的这个标志,这个呢是缓存标志,我们是把它做了这个安全处理啊,这个标志呢不允许小于零啊,也不允许大于二, 因为这个是如果是大于二的话,那那这个是呃是不合理的,因为我们实际的就只允许他有这个两级缓存的话,那这个大于二的 这个事情就判会出错,那就把它救之危啊,是吧?这是这个做的一个安全处理啊,这个是在咱们编程的时候,尤其是这个刚开始学会编程的话,咱们在这只要是做类似的处理的时候,都要想到有一个安全处理啊,不能说计算机他是很可靠的 市场,在那个异常的情况下,也如果是这个标志跑达跑到的零一二以外的地方去的话,那个可能会导致系统就根本就不工作了啊,不工作以后那人家用户可能认为我们这个系统就死机了,对吧?市场只是这个标志出了错啊,这是这样的, 在这里面呢我们还有一个一个安全处理的,一个用于判断系统出错的一个自由计时器,计时器啊,这个计时器就反复的,这个如果是呃,只要他不移出的情况下,一个劲的 往上面涨啊,谁想用到这个都可以用的,在这里面呢,我们把这个系统的这个状态,也把它这个的这个安全处理,这就是我们刚才讲的这个系统的这个状态啊,刚才这个在这个这里, 在这里我们讲的这个 在你这几个状态的这个指针是怎么做的呢?就是利用一个标志,一个标志来来进行这个确定的, 因为这个如果我们用一个数来进行来确定他的话,这个事情就比较简单,因为一个这个变量不可能同时等于一,也同时等于二,是吧?那是一,那就只能到一的地方去,是二就是只能到地 啊地方去,这个标志的话呢,我们也把它不允许小于零,也不允许大于五啊,这按道理的话,因为我们只有四个,那这个就只能允许他等于四啊,不允许大于四啊,这是一个安全处理, 如果这个标志等于这个标志等于零的话,那就做一些这个处理。编程的时候是这样的,在这个是上面质检,上面质检呢干的事情就是检查这个总线是不是,好吧?马达是不是已经这个试服是不是已经使用好了 啊?如果是好了,那就跑到这个一里面去啊,如果是这个,呃,跑到二里面,这个二状态如果是有问题,而且是在这个允许的时间,真的还不如抽纸画好,那就跑到这个告警状态里面去啊,这个状态一,那就是一个啊,停停机告警状态,在这 这个状态里面允许人家来这个做这个福尔高景的操作,在这二状态里面是一个停状态,他这个停状态里面啊,这个 如果是有这个运行的话,就要帮他跑到这个状态这个市里面去,如果呢是有人要去设置他的话,就跑到状态山里面去啊,在这里面呢是做一个这个简单的安全处理,如果停机状态,那就应该是像停机状态的样子,那要把这其他几个师傅都给他,把他停稳了 啊。这个是第三呢,是一个点动跟调试状态啊,这个是如果有人点动的话,那就去点动这个轴,这两个轴都是这样的。如果呢是这个有人要让他这个恢复器灵的操作的话,尤其是这个旋转刀的这个呃 归零操作的话,在这个里面他就把它归零处理啊。这个是如果是这安置件中没有的话,就让他再退回到状态啊,这个四呢是是这个如果是这个非剪头不在这位置的话,先把这个 飞剪轴先退步到这个要这个运行状态啊,要运行状态,如果说是这个这个飞剪的刀应该自动的回到 等待的位置啊,这是回到等待位置。回到等待位置是什么呢?是让他回到这个地址为零的这个地方啊,这是这样的 啊,这个位置回到文明已经停好了。然后呢这个是让这个传统带走开始这个呃运动 啊,在这里面呢是在这里面做这个这个操作啊,然后摆切这个标志啊,这个是啊,这里有一个状态五,是一个自动的这个呃循环的标志,把它支起来以后开始呢, 在这这个在这里面呢是在第五代上这个传送带之后开始包起来,这是一个公用的这个处理。大家看到游戏这个变量呢是指令啊,是在这在这个 你像路虎,这个绝对是路虎的话,是在这个里面的执行,执行完了再走。这还有一些这个指令,比方说这个头等的出发或者是停止了之类的,就没有放在一个固定的状态里面,而是放这个, 这是公用的,这个也按了开始呢,就是把前面这个五种状态都判断完了以后,大家都要来执行这个下面的把这个程序呢是在这个里面,比方说 啊,这个头等表把他这个准备好啊,把他这个头等允许就把他在这里面准备好。还有这个是什么时间开始这个 同等,这,呃进入同等运行,在这里呢?是在这里,呃,这个代码是在这里,但是呢这个代码执行不执行呢?是在这里,然后这个出发的标志是在前面的定好的,前面定好了,如果是可以,那他在这里就是就可以跑,是吧?但是还有什么时间开始这个推出这个同等同步, 在这里呢?还都是一些安全的这个处理,还有这个是停机啊,这个还有这个这里几个标准,这下面还有这个三句话,呃,是我们一个这个竹来这个剪的时候,你看这都是有一个 force force force 这个语句呢是有点,看起来如果刚开始编程的人感觉到有点 奇怪,事实上呢就是我们最早讲的,他是为了让前面的呃,这个指令能将来能得到一个上升演 啊,这是这样的贷款就是这么多,好,等一会我们再来看他的这个实际运营。