粉丝1784获赞4301

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

大家好,我是机电奥杂华学西门子幺零零 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 减指令在实际运行中也是比较多的,一般跟比较指令配合使用, 相当于真技术或者简技术。好,感谢大家的收看,再见!


大家好,我是李老师讲电器,今天我们一起来学习一下二十七杠幺二零零模拟量编程相关知识。 首先我们需要了解什么是模拟量,模拟量是指变量在一定范围内变化的量,例如工程现场所使用的电压、电流、频率、压力、 流量、温度等等,这些都是模拟量。那么我们工程县城所使用的这些模拟量是如何测量的?这里我们就需要使用到变速器,像电压电压变速器、电流变速器、频率压力变速器、 流量温度变速器等等。压力变速器是将所测量到的压力值转换为电流电压信号,这里的电流有零到二十毫安, 四到二十毫安电压信号有零到十伏, 辅食到赠食服,这些都是 变速器的输出信号。将变速器的输出信号接入到 ps 的模拟量输入模块 psc, 通过编程 将所接收到的电流、电压信号按比例转换成变速器所测到的实际压力值。这里有一个转换公式,就是来处理 变速器所测量到的值,然后再将其转换为 实际值的一个公司。哎妈 am 是指变速器的量程最大最小值, mxmm 是指 ps 模拟量的上线下线值, a i w 是指 ps 采集 模拟值。假设现在 aiw 的值是这么多,压力变速器输出为四到二十毫安,四到二十毫安对应的是五五三零 五五三零至二七六四八,压力变速 气量成为零到一点六兆帕。现在要求计算工程量实际值,这里是公式,然后这里是计算一个过程。等一下我们用 s 七杠幺二零零 plc 来编程并模拟这个实力, 这里就是一个编程的梯形图,我是通过在 fc 里面写了一个这样的一个计算公式,然后再在主程序里面进行调用。好的,那我们下来打开, 在薄涂软件进行编程并进行测试。打开薄涂 软件,我们首先点击创建新项目,然后项目名称模拟 底料,转换工程量,点击 创建,然后点击主态设备, 添加新设备控制器二十七杠幺二零零,我选用的是这一款幺二幺四幺二幺四 c dcdcdc, 现在我们是在一个工程视图,然后点击 cpu 勾选,点击系统和时钟储存器,点击 启用系统存储器字节,点击启用时钟存储器字节, 在防护与安全里面点击勾选允许来自远程对象的 get 通信 访问,点击保存。因为我们是 模拟量编程,所以说我们需要添加一个模拟量输入模块, ai 模块,双击 在 as 模拟量输入通道零选择电流, 电流范围为零到二十毫安,点击保存。 ok, 现在我们 主硬件主态已经就主主态完毕,现在进行软件 ps 程序的编写。首先我们先新建一个 fc 块,命名为模拟量转工程量, 首先我们需要在快里面 fc 快里面 定义输入变量,输出变量以及临时变量定义良辰上线, 选择数据类型为六良辰下泻 模拟量上限模拟量上限模拟量 下键模拟量输入值,我们选择硬腾类型, 输出值我们定义实时值, 选择数据类型为瑞尔,然后在临时变量区定义五个临时变量,数据类型为 我们定义相同的变量的时候定义一个,然后可以和 excel 一样点击下拉创建五个, 现在我们变量已经定义完成,我们现在在 fc 框里面进行程序的编写, 程序的编写实际上就是将 这个公式转化为 prc 梯形图的过程,所以说我们现在进行一个编写。 首先我们计算 a max 减去 am, 需要用到数学函数减法指令, 我们点击这里选择量程上线,量程下线, 这里选择输出,选择为临时变量一,然后我们计算 imax 减去 im, 同样的需要用到减法指令,点击选择模拟量上线,模拟量下线,这个我们保 保存在临时变量二里面。继续我们计算 aiw 减去 min, 就是我们的模拟量输入值,建议 去一个,将这一个结果保存在临时变量三里面。现在我们 计算 tom 一除以 top 二,也就是 amx 减 am 除以 i max 减 im 除法,我们需要用到除法指令 d i v 减除以 top 二,将它保存在 top 四里面。 然后我们再计算这一部分,两个相乘,就是乘以乘以乘四,需要用的乘法指令 乘以一个 tom 四,保存在 tom 五里面。然后我们需要 要加上一个 amm, 需需要用到加法指令输入一,选择 top 五输入二,需要选择良辰下线 输出,我们选择实际值,实时值,在这里我们就通过在 plc fc 块里面编成,将这一个公式已经表达出来了。然后我们需要做的就是在闷 ob 一里面进行调用,调用以后 我们就可以看到一个这样的一个功能快,然后我们按照要求进行填写就可以了。良辰上线,选择一点六兆帕良辰下线,零点零兆帕模拟量上线,就 是一个 ad 转换之后的结果,二七六四八,模拟量下线选择五五三零 模拟量输入值,我们选择模拟量模块输入通道 i w 九六,如果这个 不知道的话,我们也可以在这里看一下,在设备主态模拟量模块通道零,通道 到地址为 iw 九十六,然后实时值输出,我们我们让他显示在 md 幺零里面, md 幺零这一个我们就做好了,这假如说这是一个压力变速器,压力变速器 我们还可以在下面进行一个调用,假如说这是温度什么的都可以,然后我们 我们下到仿真里面进行仿真一下,看一下,结果和我们计算的结果也不一样,这里我们下到仿真里面去看一下,和我们的实验结果也不一样。点击启用 仿真, 点击装载,点击全部启动转资在线 监控一下, ok, 现在我们将模拟量输入只改成与本地装箱一样的幺幺零五九,然后我们通过实际计算出来是零点三九九, 零点三九九九,我们通过 psc 模拟出来的,与实际值一样,这就是一个模拟量编程的一个过程,谢谢大家。

大家好,这节课我们给大家介绍一下如何使用薄涂的仿真软件去仿真我们 plc 里面的程序, 在很多时候我们没有实际的硬件设备,那么想要做一些简单的模拟和测试,那么这个时候呢,就可以借助博图软件里面的 p 二零 c m 来进行防灾。 下面首先第一步,我们先添加一个新设备,双击添加新设备,选择控制器,然后选择 s 七杠幺二零零展开 cpu, 我们选择 u 二幺是 c d c d c d c。 在使用仿真界的时候一定要注意固建版本号,一定要选择 v 四点二, v 四点零以上的版本才可以制止仿真。如果说你选择的是 b 三点零或者 b 二点二的,那么他不能使用防尘器,我们选择 b 四点二单机确定 好,下面我们打开成绩块,打开 obe 主程序, 写一个简单的点动程序,我们来进行测试一下。输入二零点零 为我们的一个点动按钮, q 零点零为我们的输出,然后右键 更改视频名称,更改我们的变态名称,点动按钮更改,把 q 零点零更改, 喂,点击 好成语,写完之后,单击变音按钮,这个时候已经变音完成且没有错误,下面我们打开仿真器, 单击开始防弹按钮,单击确定这个时候正在打开仿真, 反正已经打开了, 下面单机开始搜索,搜索我们的设备,那么 psc 就这边默认选择的是 pcc, 我们不需要。更改 好下面单击秀的按钮,单击装载,勾选全部启动,然后单击完成按钮, 下面担心监控右键把二零点零驱改为一,那么这个时候呢,我们会发现二零点零无法接通, 那么如果说你使用的是 id 来做我们的一个控制,那么一定要切换到项目,试图找到仿真器,单机切换到项目,试图按钮切换到项目,试图正在打开, 打开相关数字之后选择新建一个项目,单机创建, 这个时候正在加载好,我们不需要操作, 直接等他加载完成,然后展开生物表格,双击打开生物表格一, 我们手动输入两个地址, ib 零, ib 零指的就是二零点零和二零点七, 再输入 q b 零就是 q 零点零和 q 零点七。好,那么这个时候呢,我们可以 来单机来进行测试,我们单机二零点零,发现二零点零接通, q 零点零输出,这边也同时输出 断开,按在那里停止,再次接通输出断开,停止,他的排列顺序从这边按六点零开始计时,一直到这边 二零点七来进行排列。好,那么这节课呢,我们的防尘器就讲到这里,谢谢大家。

一天一个指令,今天我们来学习加技术指令 c u v 加技术触发,我们用 i 零点一,花纹为复位,我们用 i 零点二 p b 为指定值,设定五听位,输出给 q 零点零, c b 为当前值,放在 m w 十, 我们下载到 plc 里, 点击监控, 每按一次按零点一,计数器就会加一,当按下五次,那么计数器就计到五,就输出给 q 零点零,继续 l 二零点一一直往上加,就仍保持输出,是不是很简单呢?

呃,大家好,这节给大家讲一下这个数据的处理指令当中的移动指令啊,在其他的游戏课程当中也叫做传送指令啊,或者是 哎,一个 u 哎,一个数据的一个转移的一个指令啊,用木的这个来表达的,有的呢在比如像两百当中呢,就直接是 mov, 是吧这样的一个传送的一个指令, 那么这几个质量呢?第一个啊是木的传统人,这个可能用的比较多,在实际编程当中,第二个呢是一个快的,就是一个大批量的一个数据之间的传递 啊,这个老王我们就这里后面呢会用到一些呃,这个数组之类的这样的一个传递过程啊,一会呢会给大家讲,那后面呢是像这个指的是一个防止在中断的情况之下,数据不传输了这么一个指令,比如说这个指令呢,是无论你这个是否发 分,中段这个质量的仍然是要被执行的,他叫做不中段的一个移动,后面的一些填充指令灯的啊,这样呢可以后面这个质量呢可以自己去看。那么今天呢主要介绍前面两个啊,这两个质量,再介绍这两个的时候呢,会给大家做一些 哎,这个补充啊,就是前面一些内容的一些补充。我们先看第一个木布的质量,木的针啊, m o v e 啊, 可以直接这个在这上面直接写 mv 啊,这样的话也能够调出这个木的指令,也可以通过指令这一侧,然后的话找到这个移动指令,然后呢拖出来的形式呢,也可以完成这个指令的操作。 那么这个指令当中首先第一个呢就是指的是一个传送的一个指令,或者叫做移动的指令,那么这一个数呢,是可以真传送到多个区域的啊,如果说你是要 一对一之间传送,比如说我们需要把一个比如一啊,或者一般情况摘了,有可能很多情况摘了是一个出付出子零,对吧?就是把零呢传送到某一个存储区域当中去, 或者简单的讲呢,就是我这个村的区域呢,要把它填充成零啊,这样的话往往很多情况下用这个初始化上面啊,那么在后面这二的单元当中,这个数据格式到底是什么样子的一个格式呢?当你鼠标放在上面之后呢,你会发现上面提示的这一个啊,数据的形式非常的多的,包括了 字节,是吧?然后呢就是八位的、十六位的、三十二位的各种类型的数据格式他都有,也就是后面这个了话,这个数据格式是非常多的啊,比如说哪些格式都都是可以应用的 啊,这个呢你数据类型的话,就是这个数据类型的话,因为非常的多哈,我们这个呢没办法一个一个去给大家去做介绍。好,这个呢 是单一的一个传送,比如说我们放在一个啊, m w 零当中,那么这是一个什么呢?一个味的是不是啊?一个字一个十六位的字啊,放在这当中去,比如说现在这个 m w 零里边的字呢,全都是零啊, 只有一字形的话,我们前面可以加一个条件啊,比如说我们写个 m 啊,十点零啊,这样的一个中间点啊,就是当这个条件满足的情况之下的话,就是会执行这个移动之类, 如果说我现在就写成这样的话,那么这只有 m w 零里边的只是这个零,如果说我是对多个区域啊,或者多个这个字 字写之间啊,或者是多个这个字之间进行数据这个传输的时候呢,可以通过这里啊,就是插入输出啊,也可以加上比如说我们的 m w 多少三,是吧?哎,这样的话就是说我们可以对联 去的这个存储区域之前来进行的一个零的覆盖啊,下面是就是我们把它传送了一个零进去,这就是一个木屋直领啊,这个直领执行完之后到底会有什么样的一个结果呢?我们把这个程序下载一下, 然后呢我们点到这个监控状态啊,可以看到现在的话都是零啊,现在其实他其实也是零啊,有可能我们会看不出来啊,我们付一个二给他啊,然后我们再下一遍, 因为我们这个促使者的这个冲突空间的促使啊,他有可能本地就是零促使啊,然后我们这里呢就是为了仿真啊,给大家去演示一下,我们把它修改成一, 因为只有修改成一字的话,会才会把这个二呢复制到相应的存储区域当中去,我们把它修改成一,可以看到我们修改完一之后呢,然后后面的这个值啊,就是我如果条件不满足的 情况下,这个存储区域的纸呢,仍然是这个二啊,这是这一个内容啊,就是这里边的个数据传送的一个一个指令啊,默默的这个指令。 那么在讲这个指令的时候呢,我们会做一个扩展,就是存储区域到底这里边,比如说我们写 m w 零下一个,为什么是 m w 三啊?我能不能写 m w 啊二呢?或者是 m w 四呢啊?这样去写,就说我这个值是不是随意写的,比如说是不是乱写的啊? 那么在这个我们可以通过这个右键啊,点击他的属性,就是飘色的属性啊,在这个 不是属性啊,在这里的这个啊,分配列表啊,分配列表一边啊,然后点击这个分配列表,然后这个时候呢,我们可以看到啊,就是所有的这个 io 点数,包括这里边的 ib、 零 ip 一啊,这些是代表什么意思啊?啊?还有这边所对应的这个 m 区域的这个的使用情况, 可以看到我们这个 m 区的使用情况是这样的,现在呢这里分别有零到七,然后这边是 b, 然后 wd 的啊等等。 哎,这些数据类型到底是个什么样那个格式了啊?就是这个存储区域啊,这样写,为什么我刚才这个写是正确的,如果不这么写他是有点错了啊。然后呢我们介绍一下这个存储就是整个姓名字的存储关系到底是怎样来产生的,因为只有执行完这个之后呢,你再写程序的时候呢, 才有可能你有效的去利用这个他本身系统给你的这个存储区域啊。好,我们回到这里边啊,我们看一下这个数据与这个数据类型的一个存储关系。第一个我们首先第一个要知道就是八位啊,是一个字节, 八位是一个字节,这个应该来说问题不大啊,就是我们对于学习这个专业的这个同学来说呢,应该问题是没什么大问题的啊,比如说我们有一个存储, 存储卡啊,存储卡,比如说就像你的电脑一样,一个存储卡,存储卡有这么大一个存储空间,就是我现在画的这个存储空间啊,然后拿过来之后的话,你肯定不是说我的这个,比如我的电脑啊,弄好了有两啊,就五百 g 硬盘,对不对?你肯定不是说这个硬盘就把它当成一个盘来用,你至少要把它进行到分 区,对不对?进行分层的,比如说是 c 盘, d 盘, e 盘、 f 盘,是吧?就是分了区。那么对于幸运者的这个理解的其实也是一样的,他进行了分区,分了怎么样的一个区了?他分成了哪些了?分成了,哎,对吧?输入 q, 输出 m, 对不对?就是这个中间站出来, 那这个是吧?我们一般的作为数据中间长存的啊,等等啊,还有什么就是我们的模拟量的一些类型啊,等等,就是后面还有很多,是吧?就是全体电量啦,等等啊,就数据类型之类的 啊,比如说现在两百当中还分成,哎呀,是不是好微,是不是?这是在这个存储区域啊,就是他这个分类是吧?就你可以理解为是 c 盘, d 盘, e 盘, f 盘,对吧?好,假设我们这个区域呢?假设是假设啊,我只是这里假设啊,假设他是 a 区域是吧?下面就是 q 区域。 为什么要这样的分呢?其实就是像我们这个电脑分 cc 盘, d 盘一排 f 盘是一样的,你 cc 盘存的是系统, d 盘存的是,比如说 你按到说软件对不对,然后一盘存的是这个文件之类的,这就是按照你的性质功能来分的,对不对?就是你的使用作用来分的,同样的 i 也是一样, i 是什么输入?所以呢,我所有的输入数据 都是存储在这个区域的,说的输出数据的都是存储在这个区域的啊,这是第一个分区,那第二个呢?分完之后的话,你想去读取的时候,你不是所有文件都直接装在塞盘当中的,因为塞盘他并不是跟目录,对不对?他会有很多的文件夹,那么文件夹的作用是什么?就是把相同的内容呢再放在一起 说。我们这里边呢,比如说上面就是 m 区域啊,因为我们现在要讲 m 啊,那么 m 的时候他怎么来,怎么来,再来把它划分呢?说到这个时候呢,再分行啊,就分成了很多行,到底有多少行呢?就根据你的这个存储区域的大小来定啊,分成了很多行, 这一行叫什么一行呢?对于我们文件来讲,其实相对是一个文件夹,那么在这里边呢,这一行叫什么呢?叫一个字结啊,叫一个字结啊,那么你就应该想到这一个字结是多少位呢?是八位,对不对?说一 行呢,其实就是一个字简,那么八位又怎么来描述呢?就是这个文件夹下面肯定是有文件的,说这文件呢,再用列来表示啊,这个列有多少列了?那我刚才想了,有八位吗?是不是?所以呢,就应该有八列, 三啊,四五六七啊,就这样啊,那么一 一二三四五六七八啊,一共八列,是不是这样的?有八个格子,说这一行呢,指的是什么?叫一个字节,那么其中的这一个格子叫什么呢?一个格子叫做为, 对不对?他叫为,说了才有一个八位组成一个自己的这个说法。那么这一位第一行叫第一列,叫什么?叫第零列?第一列、第二列、第三列,到达这边的第七列啊? 说了这中间是这样来分的,说这里边的零,比如说定零,对吧?定零,那么这一位里面能存的数是多少呢?就是零或者是一 把零或者是一这样的一个数存在这个格子里面啊,他能够存的就是零和一的二斤之数存在这里边。所以假设我们要要描述这一行里边的数,那指的是一个自己。如果说描述一个格子里面内容,那指的是一位, 那么在西门子当中怎么来描述位置呢?比如说这个是 m 区域的,那么就是首先第一个乘除起来标识符是 m, 对不对?然后他是第几行先要用,比如说这是第零行,对吧?这第第零行吗?这叫第零行,这叫第一行,这叫第二行, 这这个零指的是第零行。然后点是指的是这个字节跟后面的位置间的分隔,比如说 m 零点二,那他指的是哪一个位呢? 这指的是位啊,这指的是位,位的话就指的是零和一了,对不对?就是一个二斤之数,那么零二的话就指的是这一个,是不是就是我们的第二列? 不是这个啊?不是一是吧?他应该是零,是吧?说这个 m 二点零的现在确实是等于零的状态啊,是零的状态,因为这里是第二例啊,是零开始的零一二啊,说他是零,对吧? 在这就指的是位啊。如果说我如何描述这一行呢?对吧?我怎么描述这一行的数呢?那就是一个字节,一个字节用什么?就是 m, 对吧?冲出去标识符要有,就相当于 c 盘那个标识符, 那紧接着描述行呢?要用一个什么字解 b 啊?那么他是第几行呢?第零行,对,就在 mb 零, mb 零就描述的是什么?就是这里边的幺零幺零,幺零幺零这样的一个 二斤之数,八位的二斤之数啊,那么拿到这里边来看到就这样,如果说我们这里边的啊,描述的是 mb 一百,那指的是我从这从上数到下,然后数到第几啊?第一百行,第一百行里边的数,那么对应的这个值呢?是里边是八位的啊?是八位的, 好,然后呢?依次的啊,那么下一个单位是什么呢?字结,下一个单位是什么呢?是一个字,字是什么?是十六位的,十六位的,这个时候呢?一个字呢?是由两个字结组成,对吧?一个,因为一个字结是八位吗?一个字是十六的话,那就用两个字结,两个字结的话,那么一定是相邻的两个字结, 比如说零,第零个字怎么来描述?第零个字怎么来描述呢?零,那就相邻的,就是一说零和一组合起来,然后再才是一共才有十六个格子,十六个格子里边叫做一个字 啊,一个字说他一定是相连的,那么在写的时候怎么能写了?那就是 m 第一个,然后以最低的那个,对吧?就是我们七十的一个零,比如说就是 m, 首先第一个我们描述他是一个字,那就是 y, 是吧?首写字母,那么后面紧跟着了零, 实际上 m w 零是由什么组成的呢?他是由 m b 零,是不是这个是第零个字节,和谁呢?和 m b 多少一?是不是他就是叫做相邻的两行,第零行跟第一行组成。 那么如果说我要写下一个字应该是多少,肯定就不能写成 mw 一了,是不是?因为如果说你写 mw 一的话,就意味着什么,他就由 mb 一和什么 mb 二组成。如果你写成 mw 一,这个时候了 mb 一就重复了,他既数 m w 零,也属 m w 一,那么如果说我对 m w 零进行负一个值的话,那么这个 m w 一的值是不是也会发生改变,对不对?因为你 公用了某一个村子,共用了什么第一行,这里边第一行就是说了这了,这写的时候就这个就是错误的,如果说你在实际编程出现这种情况之下,那就是错的,那么下一个应该写多少呢?应该写二, 是不是因为你这些二的话,那才有多少啊?有 mb 二和 mb 三组成,对不对?这样的话才能够组成新的一个字 啊,这种组成型的一个字啊,这个是要理解的啊啊,这是防止在写程序的时候的一个错误,那么紧接着往下一个就是双子 w 的,那么也明显是 d, 对不对?出来写的时候呢,就在 md, 那么 d 呢?我们依次往写,比如说我们写 m 第零,他应该有什么组成呢?明显是有多少?这是三十二位啊,那是有四个字节,对四八三十二,那么那么也就是有多少了,我们把它写成自己的格式啊,他有,比如说一致的格式的话,就是 m w 零对不对?和 m 多少 w 二组成, 这上有这两个字组成,由于 m w 零呢,是由于 m b 零跟 m b 一组成。 m w 二呢,是由 m b 二和 m b 三组成, 合起来不就是零到三四个字结吗?是不是三十二位啊?那么紧接着如果说我要写下一个 md 的话,应该是多少了,对不对? md 多少啊?四了,对不对?是不是啊?因为这里三已经被用掉了,如果说你写个一二三中间的任何一个,那都会倒 是这个存储空间的重叠,那么程序复制的时候就会出错,说这个呢,也是,我为什么要一定要补充这个内容啊?因为我们在写目无子恋的时候呢,就容易出现这种错误啊,就这么回到刚才的这个内容当中,我们去把程序改一改, 假设我们转到一线啊,假设我这里放写成了 m w, 我们写在 md 啊, md 要稍微大一些,是不是 md 零啊?我们先改成 md 零啊,上面一个,然后下面我写个 md 二啊,给大家看一下这个错误的这个过程啊。我们先把程序下载一遍, 你看如果我下载的时候,包括你变异啊,你看我点变异啊,实际上呢,我平时没有点变异啊,是吧?你可以看到这个错误警告都是零啊,是不是说明这个程序这个时候了,他是不会提出错误的,因为你这个 写法是正确的,但是我们看这个程序的这个分配列表,你就会发现,怎么了,是不是出问题了?第一位的这里对不对?三十二位的这个 他一共呢要占用了四行,这个没问题吧?这个是多少了?这个这个如果说要读这个啊, dw 应该是 md 零,对不对? md 零包括了零一二三,是不是就是我包括了在四行才组成了一个 md 零,然后你后面写了个 md 二,那这两个之间二和三是不是就在这里出现了重点, 是不是又真的出现了重点啊?这是一个容易出错的地方啊?说这个呢,就明显在这里边是能够看见那个程序写错的啊。那另外一个呢?比如说我这地方写了一个,我把这本改一下,比如说我们 m 二点二,二点三,随便写一个啊,你看我写完之后我点一下变异就可以啊。实际上我们再去看一下分配列表,看 没有这个点,这里边是不是 m 二点三呢? m 二点三是不是第二行的第三例,这个点被标记了,被标记说就说明我这个点已经被用了,但是呢,你要一定要看到后边这个对不对? d 位的这里他已经囊括了 mb 零、 mb 一、 mb 二、 b 三所有这里边所有的这个存储空间的位置,如果说你在这里面去打一点 这个纸,就有个人出错,对不对?他仍然是叫做什么重复重复了啊?这个存储空间被你重复占用,是不是?如果说我们要用的更好,是不是?那么我们就要去把它改正确了,这下一个应该是写谁啊?第一个是 md 四,对不对?说这个地方呢,要写 md 四, 对不对?然后这个点呢?要写的话,那么第四就包括了到哪里去了呀?到七,是不是?如果要写的话就是 m 八点零啊?如果说我要去把这个充足空间友好的利用起来啊,那就应该是这样, 你看这里是不是我们刚好用到七 mb 七,然后下一个点是不是咱们八点零了?然后接着可以使用八点二一、八点二、八点三啊?依次这样去用啊?这是第一个就是目无止令的啊使用方法和这个存储空间的一个介绍。

好,首先咱们打开咱们的薄图啊,好,打开薄图后咱们创建新项目啊, 那以我目前这边有的 plc 呢,我先就给他把咱们的设备啊设备组态给他组好,打开咱们的项目视图啊,打开项目视图,然后这边在项目数里面 添加新设备啊,添加新设备啊,我这边的是咱们的 cpu 是幺二幺四啊 dcdc, 然后我们的型号是这个二幺四啊,六 es 七二幺四杠一 ag 四零啊,这个,然后他版本版本就是四点四的,然后咱们确定啊,这就咱们首先把咱们的 plc 进行组态啊组态,然后 咱们要把咱们的通信模块啊给他增加上去,咱们这边呢是幺二幺四的啊,然后这边是咱们输入输出模块二三四的,直接这样拖过来啊,拖到咱们档相对。好,这就是咱们整个 plc 啊,好, 那这是我们的整个 plc, 然后我们在真正的 plc 啊进行咱们的网址网址设置的时候,咱们在 plc 这个看我们选中的 plc 这款 cpu 幺二幺四 dc dc, 然后右击啊,右击,咱们这边设备栏里面有一个咱们的属性,属性啊,好,点击属性,进入咱 属性之后,咱们有一个看在常规啊,首先是我们看到是常规,常规里面有个 profilet 接口啊, profilet 接口好, 若非耐克接口里面下面有个以太网网址,以太网网址啊,那这个就是咱们要去设置的咱们的网址啊,在这可以进行改变啊,然后点 确定啊,下面都不用管啊,好,这样咱们的网址就改变了啊,好,这就咱们整个怎么样去设置咱们的网址改变网址。

啊,大家好,这节给大家讲一下比较指令,比较指令在整个编程当中呢,是用处比较大的啊,用的地方比较多 啊,也经常使用到这个比较指令啊,所以大家要注意一下,但是比较指令到这个学习呢,难度并不大啊,比如说看这个指令,第一个是等于 不等于大于等于小于等于大于小于,是吧?这个都能够认识啊,这下面一个是子弹范围内,子弹范围外啊,他有检查有效性和检查微笑性的啊,比较直念的,一共就这些。我们看一下这个指令, 我们随便看一个其中的一个指令,比如说大于等于啊,这个指令呢,其实从这个指令本身的这个看样子来也能够知道啊,其实在看起来就是一个常开,对不对?那中间是条件说,他表示的意思就是如果说当上面这个 值,如果说大于等于下面这个值,那么条件满足的情况之下啊,满足这个大于等于这个条件,他就会输出为一,也就假设我们后面是线圈,那这个线圈就会输出为一啊。说指的是什么呢?上面个条件和下面个条件的之间的比 啊,上面个数字和下面个数字之间的比啊,如果说满足中间的这个条件哎,然后就输出为一,但这里边的难点在哪里啊?这个比较这里其实在于这个数据类型啊,数据类型,常见的数据类型呢,这里边都有,比如说一些 啊,整形的啊,弄好了双整数的,是不是持数的等等啊,下面的还有些时间的,再来一些数据类型的,都在这里边啊,好,比如说我们举个例子,比如说我们写一个啊, m d 啊, bmd 二十,给我们写一个, 随便写个 m 第二十啊,写完之后你看他会认为数据是错的,是不是?然后我们写上,比如说两千二百二,对吧?我就说这个意思是 m 第二十,如果说大于等于两千二百二十二,是不是 啊?说我们选择一下数据类型, md 什么呢?是一个三十二位的,是不是说三十二位的数据类型的话,就是说是一个可以是一个低音的或者是数等等啊?比如说我们选择一个时数,那就是说 md 二十,是吧?大于等于 两千二百二十点零,这个时候条件满足的情况,这样输出啊,后面的这个线圈啊,当我们可以在这中间继续改这个条件,比如说是 不是大于等于是大于是不是也可以是等于是不是这这个呢?我们在这个包头上都可以直接双击的时候,可以随便去更改啊,数据类型也一样啊,可以直接更改,那么这个是一个比较直径啊,其他的这个比 叫了相同,所以我就不再去讲了啊。那么值在范围内啊,比如说下面一个值在范围内,我把前面删掉,他指的是什么呢?他指的是当如果说一个只处在最小值跟最大值之间 啊,比如说我们选择一个什么样的一个数据类型的值呢?比如我们选择一个啊,双整数啊,双整数,比如说从零到一百。假设啊,比如说我们很多时候做两层的时候,是吧?比如穿上去做两层的时候,这个字是不是在这个邮票范围内呢?对吧?零到一百,比如说我们这里面呢,是谁呢?比如刚才写过 md 二十,对吧?刚才写的,那么这里面说代表的是,如果说 md 二十里边的这个值啊,除在零到一百之内啊,零到一百之内的这个整数,双整数,这个数的线圈数除以一,这是一个,是吧?值得范围内的啊,另外一个呢 是可以双击哈,直接改成自带范围外啊,让我点成自带范围外,他的意思就刚好相反,如果是 md 二十里面的值小于 零,是吧?就是小于零这个值,我,然后呢要大于一百这个值,对,他就是在这个值范围外吗?对不对?不在零到一百这个范围内的时候,也就是说在这个一百范围外,是吧?这样一个值,他说出唯一 啊,就这个意思啊,一个是自带范围内啊,一个是自带范围外啊,对,其他下面是讲的有效性的,这个啊,可以自己去看一下啊,就是比较直领啊,说比较直领呢,他难度其实并不大啊。那么下面呢,我们给我给大家讲一下,讲一个例子啊,举个例子了,让大给大家去看一下这个程序的设计 啊,比如说这样的一个用一个按钮啊,这里边呢是一个条件,要注意到啊, 是一个按钮啊,是一个按钮,看清楚啊,一按钮控制组合吊灯的三档亮度,也就是我通过按钮的次数,按下去第一次, 第二次,第三次,第四次,是不是我按一下第一次之后呢?第一个灯亮,按去第二次的时候一二灯在亮,按去第三次的时候一二三在亮,按去第四次的时候,一二三都灭了啊,这个呢例子呢,应该比较常见,是不是啊?比较常见这样一个 啊,一个一个控制功能,那么我们该怎么去做程序的设计呢啊,这个时候我们去想这个程序该怎么去写?首先第一个呢是按下去的次数, 我怎么知道是按月第一次,第二次,第三次,第四次了,那明显要用什么?要用计数器,也是我需要去计这个按钮的次数,对吧?然后呢,我还而且还要知道计数器的 当前知,就当前,是不是按去第一次,是不是按去第二次,对不对?需要知道当前知啊,所以我们去看一下这个成语该怎么去设计, 我们在这个变脸表当中去写上啊,比如说第一个启动按钮,然后还有一个是第一个灯,第二个灯,第三个灯啊,分别写上。好,我们先做第一个启动按钮,是不是这样 启动按钮啊,我们去记的是启动按钮的次数,都得说了,第一个呢就要先计数了,叫 ctu 吧,我们是什么呢?叫计数器, 就是第一啊,我们随便编一个啊,这个次数是多少呢?是四次对不对?我们记满四次之后我们想要干什么?是不是我们就要记四次吧,而而且要知道 cb 值就是当前值,是吧?我们要存一下, 比如说 md 十啊,我们刚才已经编好了,编了啊,就是计数器的当前值,我们把当前值得存在来我们第十的这个空间当中啊,说 md 十里边的就是计数级的当前值, 好,我们再开始写程序啊,这个要求什么呢?我按下去第一次的时候,第一个灯亮是不是?而且尤其是一直亮的啊,亮到你按下去第四次的时候 说这里面我们就要去按一下第一个,你怎么知道他按去第一次呢?不是不是比较啊?对,比如有的有的可能在想到是不是用等于呢?我们假设先拉一个等于过来啊?算了,我直接写在上面啊,这个程序啊,因为程序不多啊,我直接把它写在上面 啊,这个就是程序的当前值,是不是我们必须要取当前值啊?因为要不然的话你怎么知道他是一次呢?对吧?他如果是他等于一, 一,但是如果说你写的是等于一的话,其实会一个问题,那等于二的时候是不是条件就不满足了呀?但是其实我这个本身这个食欲里边要求之后,当他等于二的时候,他也要再晾着了,说明显是一他晾着,二他不晾着吗?三他也晾着了呀,是不是只有等于四的时候成别的是不是?所以的话, 这张长度来讲肯定也不是等于应该是什么大于等于是不是大于等于这个当前是什么呢?是低音的,是不是? 是一个双整数啊? md 嘛,因为是是吧,当他大于等于一之后呢?让他什么第一个等量? 第一个灯亮是不是好,然后呢?接着是什么呢?接着是我们复制一下啊,我们用的 ctrl 加 c 啊,然后呢?是当前只,如果说当他大有点二,是不是?然后呢?应该是什么?第二个灯亮 进这个是第三个灯,这是第三个灯 啊,就是我们现在写的其实都是一些笔基本编程方式啊,没有去做任何优化啊,现在我们写完了第三个的,现在的话,也就是说当我为什么在后面还会用这个点啊?这个方如果说你用大于和大于等于,其实效果是一样的,对不对?因为你等于四之后他都得灭, 说了也就是四的时候,其实他不会出现大于等于,因为我们看这个十余图也知道啊,你,你看在这从这地方开始,他其实都是一直是三, 那等于四之后他不就灭了吗?是不是说你可以使用这个等于啊?在这个当中啊?好,那么对于这里边我们想想这个计数器,计数器的使用当中的一点呢?是什么?一定要复位, 是不是一定要复位?复位这还没法重复运行啊,那么这复位点是谁?是不是应该是四次之后重新复位啊?说我们这地方要记一个复位点啊,就是四次之后的复位点啊,这地方呢,我们写了一个啊,我们去写一个点啊,比如说 m 六点零 这边写啊, m 二点六点零,这点是什么呢?这点是什么呢?就是四次之后是不是复位啊?因为我只要记满四次之后把它进行复位了,这个时候当前直接变成零了,对不对?零的话是不满足大于等于一的,也不满足大于二也不满足大于等于三,说了后面条件就会变成 这个灯就灭掉了啊,说这个程序呢,也就写完了啊,就这样的一个程序设计过程,当然还有一些其他的设计方法,也可以用这位指令和复位指令去做,是不是?

好,大家好,这节呢仍然讲比较指令的是一个使用,那么在上一节当中,我们来讲的比较指令在这一个计数器当中的一个使用啊,就是结合到计数器,那么这一节来用这个比较指令,结合 啊,电视器啊,两个之间结合起来,然后给大家讲一下一些使用方法啊,比如我们在现场当中,如果说出现上面这种工序啊,类型的这种啊,就是有先后时间关系的这种啊,要求的时候,那么我们用比较指令去做的话,会比较简单一些 啊,这个题的话,我们不会去讲这个题的本身的这个程序的写法,主要讲他一下设计的方法,就是用比较指令如何去用啊?如果说像这个题啊,有四个工序,嗯,我们不用比较指令的话,那么会就会写啊,一个定时器, 两个定时器,三个定时器啊,四个定时器,也就说会用到四个定时器,分别定时五点五六秒、十秒和八点五秒这样的一个时间,然后去完成分别对应的工序一到工序四的一个这样的一个流程。但是呢,实际上我们编程的时候呢,其实并不需要这么多的定时器, 因为什么呢?因为我们整体的时间是三十秒的时间,所以我们只需要定一个总的定时器是多长时间呢?就是三十秒的时间 啊,三十秒的时间,说我们只需要定论完这个时间之后呢,去取这个时间的当前值就可以了,这也是为什么在之前讲电视器的时候,并没有给大家去讲这个电视器的当前值的一个使用,所以这里边呢结合到这个比较质量的一起讲, 我们打开这个播图之后,我们把这个定时器的这个呢,先给大家写上啊,定时器的使用的话,前面比如说我们的这个 输入点 i 零点零啊,这是启动的一个控制开关。然后呢写上定制器,比如说以常见到用的啊,比如 t n 的这个指令啊,我们写的一个 电视器啊,电视器的这个这里啊,对这个呢,这个电视器的这个用法啊,应该来说在前面的这个小节当中呢,会有去讲 好我们前面的设定一个时间,比如说我们设置稍微长一些啊,比如说设置二十秒的时间啊,有的这个朋友在问啊,就是为什么我这个地方这个版本当中可以直接写这个二十秒啊?比如说你看我直接写二十秒之后,他也是可以可以默认过去的啊, 啊,是因为这版本的话用的是十五点一啊,如果说你是十五点一以下的版本,就是包括十五啊,那么这时候他就没法识别这个二十秒这个时间啊,这是版本问题啊。 好,我们设置完这个之后啊,比如我们后面的输出一个点啊啊,其实我们现在这个点呢,和输不输出都没有什么关系啊啊,在之前我们讲电视器的时候就也就用到了这个样子,是吧?就写成了这样,然后呢后面这个 e t et 其实指的就是说定时期定的时间的当前值,就是我们这里边整体的时间是定二十秒的时间,但是呢它总得有个过程,就从零秒到二十秒是有一个时间过程的。说这里面呢会把这个当前值啊,当前定的时间值呢?存储在 et 的这个单元当中, 那么这里面存储的这个数据格式到底是什么样的格式呢?其实你可以把它放鼠标放在上面啊,它会显示出来是一个 time 的数据格式的,也就是一个时间的,然后是一个 d int 和的 d word 的一个格式,也就是它是三十二位的,所以我们在写的时候呢,一定是什么呢?是 m d 的形式,是不是 m d 的形式?比如说 m d 四对吧?或者是多少我们随便写啊,比如我们 m d 十哈,比较方便记一些。写完之后呢,这个 m d 十是什么呢?就是我们的这个定时器的当前值,是吧?我们可以在变量表当中去把它给改一下,这个叫做啊定时器的当前值 啊,这叫定时器的当前纸。好,我们可以看到改过来之后的话,这边 et 的这个就是设定了个定时器的当前纸啊,我们先看一下这个定时器的当前纸里边到底是怎样的一个数据格式啊,我们把它先下载进去 啊,我这地方仍然是仿真的啊,仿真的,也就是说因为我已经打开过仿真了啊,说了没有,再去点启动仿真。 好,我们监控一下,可以看到目前的这个状态了,电子器都是零的啊,如果说我们要监控具体的值了,我们可以在这个监控表当中去做,那我们的这个地址需要监控的是 m d 十 是吧?就是这个是电视机的当前值嘛?电池是这个,然后把眼睛点上啊,可以看到这后边呢,我们显示的这个时间格式呢?是 呃,是一个时间的格式啊,如果说我们去显示时间呢,就是说是多少秒,多少毫秒,多少小时这样的去显示的,如果说我们要看具体的值呢,可以用下面的带符号的时间字啊,也是可以看的。我们回到这个程序当中, 我们把这个二零零闭合上啊,二零零闭合上当二零零闭合的话,由于我们这地方是启动的仿真,所以呢我们需要把仿真给启动起来, 仿真的 启动部分呢,我们就呃呃这里切换到项目视图啊,去切换到这个 i 零点零的启动点就可以了,过程呢可以参照之前讲的这个仿真的这个章节当中去看啊,怎么去做这个仿真? 我们启动这个仿真之后啊,我们可以去修改这个值啊,比如说我们把它修改成一啊,修改成一,然后呢现在现在是处于启动状态的, 我们可以看这个时间的当前值啊,现在是处于在定时状态,要么去看监控值啊,可以看到这里面呢,这个值是多少千,对吧?就说现在到一万了,说这里边的话,这个值如果说看不明白了,我们可以把它切换到时间, 这样就看的更明白啊,就是十八十九,是不是到达二十秒的时间啊?啊?我们这个时间我们把它设置的稍微长一些啊,把这个时间稍微改长一点, 改成四十秒啊,让大家看的更清楚一点,我们把监控表了,把它先关掉啊,如果关掉的话写个零就可以了。 好,我们重新打开一次, 可以看到现在这个如果在程序当中看的是时间单位是以秒啊,就是秒毫秒紧跟着的这个单位,然后在这边的话,如果我们选择时间的话也是这样的,但是如果说我们选择带符号的这个时间字的话,其实它显示的是什么呢?是毫秒, 是毫秒啊,是毫秒单位,现在是现在二十秒吗?对不对?是两万多啊,这个毫秒的单位说了也就是我们这个时间值啊,这里边这个 md 里边存的到底什么呢?其实他存的是多少毫秒 啊?多少毫秒啊?这是要知道的啊,因为这个会和后边很多在设计过程当中啊,因为我们实际在取这个时间的时候,往往取的是多少秒 啊?比如说像这个,你看啊,我们这个题五点五秒、六秒、十秒、八点五秒,是不是说这个地方的话你就不要弄错了?是不是说我们这里面呢,看的是我们在工业现场当中往往用的 并没有精确到说多少多少毫秒,这个这个单位说往往用的是多少多少秒啊?说这个时候呢,这个单位当中在写的时候一定要注意啊,我们先把它处于,我们先把这边的这个仿真箱关掉啊,然后把 继续去写一下,我们怎么去,怎么去把这个当前的时间值取出来呢啊?我们现在就要从这个当前时间值去做了,比如说 我们第一个是什么呢?比如说我们取一个零到五点五秒的这个值啊,零到五点五秒这个值,那么要去取这个值的话怎么办?那么就是说你怎么知道是五点五秒呢? 你怎么知道他到了五点五秒呢?是不是要去比较,对不对?就是我用五点五这个时间单位去比,对吧?我们当前纸拿过来比就可以了。说到我们这里边,比如说我们是先取一个小于,对吧?或者小于等于在那个比较之内,比如我们先放这 啊,是谁小于等于五点五呢?是当前值对不对?是这里面的当前值,就是我定时期的当前值,当它小于等于五点五秒的时候,可以看到我当复制完这个 m d 十之后,其实下面这个它的这 数据类型就自动跟上了,变成了 time 的这个数据类型,也就是时间啊,那如果说它是时间的这个数据类型的话,下面我们就直接可以写上,比如说五点五, 五点五秒啊,五点五秒,你看我写上,直接写上五点五秒之后也是这种方法也是可以的啊,也是可以的。那么也就是说我现在其实这因为他这个数据类型现在本身就是以 time 是以毫秒为单位的啊,我写的就是五点五秒,他是一个时间单位 啊,时间的数据类型说了我就直接可以这么写啊,直接可以这么写。好了,我们这里面写了一个五点五秒,是不是 像这个题来讲,是不是五点五秒钟之后,就我就要让他输出工序一,也就是比如说这里面的扣零点零加上啊,是不是就这样行了呢?比如在这个题当中明显是不对的,因为什么呢?零,是不是啊?你小于五点 五的话,还包括零对不对?因为我这个定时器的当前值啊,他的七十值,如果说我前面二六零是打开的情况之下,那么这里边 md 十里边值,其实当前值是零,零的话,明明明显是小于等于五点五秒的, 是不是说这个条件人家是满足的,说这种情况下怎么办?对不对?怎么办呢?我们就要把条件加进来,一定是在我按一下开关之后,也就是我要把这电视器本身的零的这个词啊,就是说 他是因为没有按下去的,还是因为按下去之后的零呢?就是这两个零其实并不相同,一个零是我按下去之后,然后他起始的零,一个是我没有按下去之后,他一直一直存在的零, 那这两个字要区分一下,怎么区分呢啊?明显就用什么 i 零点零来做,是不是啊?因为如果说当我这个开关是处于闭合的情况之下,那么这个零才是有效的,也就是我 我这个坑里零输出才是有效的啊。嗯,如果说我是开关是没有闭合的时候,这个时候的零是无效的,因为这个时候开关只要没有闭合,他仍然是零,对吧?他前面条件满足,但是这个条件不满足,说坑里人也就这里面的工序一啊,就不会输出为一啊。但我们这地方不是去讲这个题啊,讲的是这个比较之灵的用法 啊,这是一种情况。那么另外一个呢?就是如果说我们这里边拿到的是毫秒的单位,对不对?如果说我们要去获得秒怎么办, 对吧?我们这里边也是,我要去。如果说在这个纹身 c 这个监控当中哈,如果说我们直接提取 m d 十的值的话,其实它显示出来的是一个什么 是一个毫秒的单位,也就是他显示的就是刚才我们监控表当中看到的这个有十,但符号了十斤之内种显示的方法,那如果说没有去获得秒怎么办,对吧?我们其实的最简单的方法就是什么呢?就 去除,对不对?我们继续把这个相应的毫秒值呢,把它除以一千,就得到了秒啊,就得到了秒,当这个除法除完之后,就不能够再用这个时间单位去比较这个五点五秒的这个值啊,因为你已经把这个时间单位除掉了一千啊。 只是在我们做一些 ncc 的时候,还是做画面的时候呢,有可能是需要用到的,因为我们在画面上呢,往往显示的不是有多少毫秒啊,是显示的是多少秒,对吧?这个时候呢,要注意一下啊,这是一个定时器的周周末去取出当前值的啊,我们把这个程序呢可以下载进去啊,我们去访问一下, 可以看到这个零啊,你看我现在的这个条件是没有闭合的,所以这个零呢,他仍然是条件满足的,因为零毫秒他是小于五点五的,但是由远 还理,人没有闭合,说这个第一工具它并不通,对吧?啊?然后呢,我们去闭合之后啊看一下 啊,可以看到我现在闭合了,是不是现在是处于三秒四秒啊?五点五是不是超过五秒之后呢?由于条件不满足是吧?这个点虽然是闭合的,但是前面条件不满足,说了这个工序一就断掉了 啊,就这样过程,这就是取了一个定时器的当前值啊,说定时的当前值了,也是很容易就能够取出来,只不过呢,这里边要注意到的啊,那要强调他的这个,你直接取出来这个时间单位值呢?其实是毫秒啊,是毫秒为单位的。好,今天就讲到这里。

大家好,下面我们给大家讲解一下西门子 s 七杠幺二零零 p l c 的一个定时器,指令 t o n 接通延时, 拖拽该指令到我们的程序段中,此时会自动生成一个背景 db 块,我们单击确定。 下面我们来看这个定制器的设定时间。 pt 代表着为设定时间, et 表示为当年时间,因代表是使能, q 代表着输出。我们重点给大家讲解这个 pt 设定时间的一个使用方法。 该定时器为 iec tom 的定时器,他的设定时间使用起来非常的方便和快捷。在这里我们可以写入十 ms, 表示我们设定时间为十个毫秒。如果说我们想要定时十秒,我们则需要 输入十 s, 表示为十秒钟的定时。如果说我们需要定时十分钟,则需要输入十 m。 如果需要定时十小时,则输入十 h h 表示为小时。如果我们想要定制为十天,则输入为十 d, 表示定制为十天,那么我们也可以组合来进行使用,比如十天五小时 三十分钟加二十秒钟,那这样的话,我们的定制时间得为十天五小时三十分钟加二十秒钟。也可以通过这种组合方式来进行使用。当然我们也可以直接写入,比如六十 h 啊,这种呢也是 可以的,他的最大定时时间为二十四天,如果超过二十四天,我们是不能使用该定时指令来进行定时的,比如我们输入一个二十四 d, 就是二十四天,二十四乘以我们的二十四小时, 那么我们如果输入二十五 d, 他就会报错,因为最大时间为二十四天。是不是非常的简单方便呢?喜欢知道的朋友免费的双击关注,点一下给大家分享更多知识。

上升沿或下降沿指令。未逻辑指令是 p、 l、 c 编程中最基本、使用最频繁的指令,按不同的功能用途具有不同的形式。 s t 一千二中的未逻辑指令可以分为以下几类, 基本位逻辑指令,制位或复位指令,上升眼或下降眼指令。这一节我们来介绍上升眼或下降眼指令。 上升沿或下降沿指令包括, p 处点 n 处点 p 线圈。 n 线圈。 p 处 触发器。 n 触发器。 p 处点、 n 处点指令,如图所示。其中 beat 处为布尔型变量。上升沿或下降沿指令就是要检测该变量的跳变沿。 m beat 处为布尔型变量,用于保存前一个输入状态的存储气味。当 p 触点指令检测到 beat 处的位数据值有零变一的正跳变时,该触点接通一个扫描周期。 当 n 触点指令检测到 beat 处的位数据值有一变零的负跳变时,该触点接通一个扫描周期。 p 线圈 n 线圈指令,如图所示。其中 beat 处为布尔型变量, 是指示检测到跳变沿的输出位。 m b 的处为布尔型变量,用于保存前一个输入状态的存储气味。 当 p 线圈指令检测到它前面的逻辑状态有零点一的正跳变时,将 beat 处的位数据值在一个扫描周期内设置为一。 当 n 线圈指令检测到它前面的逻辑状态有一变零的负跳变时,将 beat 处的位数据值在一个扫描周期内设置为一。 p 触发器 n 触发器指令,如图所示。其中 m beat 处为布尔型变量,用于保存前一个输入状态的存储气味。当 p 触发器指令 检测到 clock 输入的逻辑状态有零变一的正跳变时,在一个扫描周期内 q 输出为一。 当 n 触发器指令检测到 clock 输入的逻辑状态有一变零的负跳变时,在一个扫描周期内 q 输出为一。 下面我们用未逻辑指令进行一个综合练习,按一下顺动按钮, i 零点六, q 零点零接通,再按一下 i 零点六, q 零点零断开,如此反复。 一、编写程序,首先在项目数中打开 p r c 下面的程序块文件夹,双击 men, 打开程序编辑器, 在项目试图右侧的指令中打开未逻辑运算文件夹,选择 s r 指令,双击或拖放到编程区域。 输入地址 m 零点零,用于存储置位或复位的结果, 编辑器自动为 m 零点零生成了变量名称 tag。 一、可以在 p l c 变量表中修改。 在 q 输出端插入一个输出线圈,输入地址 q 零点零。 在 s 输入端插入一个 p 处点,输入地址 i 零点六和 m 零点一,用来捕捉 i 零点六被按下时的正调边, 再串联一个 q 零点零的长臂触点, 用以实现 q 零点零为零时,按一下 i 零点六, q 零点零至位为一。同样在 r 一输入端插入一个 p 触点,输入 地址 i 零点六和 m 零点二。 再串联一个 q 零点零的常开触点 已实现 q 零点零为一时,按一下 i 零点六, q 零点零复位为零。 这样控制程序就编写完成了。单击保存项目按钮,保存项目 二、编译下载程序到 p l c, 选中项目数中的 p l c。 一、单机编译按钮,编译项目, 单击下载按钮,将所有块下载到 p r c 三、查看程序运行情况,单击监控按钮,观察程序的执行情况。 按一下按钮, i 零点六, q 零点零,接通, 再按一下 i 零点六, q 零点零,断开,如此反复。 以上我们介绍了 s 七一千二中上升炎或下降炎指令的使用方法,更多详细内容请参考以下网址。

大家好,今天我们来介绍一下取反指令和复制取反指令。 取反指令在这里可以调用出来,复制取反指令从这里可以调用出来。测试一下我提前写好的测试程序,先把多余的东西删除, 编译一下,下载到 p l c 里面。 程序段一, m 零点零的常开触点接取反指令,然后接 q 零点零的线圈指令。取反指令,就是说 n o t 左边的状态和右边的状态相反, n o t 左边没有能流流入,则右边有能流流出。同样,当 n o t 左边有能流流入,则右边没有能流流出。一开始的时候, m 零点零断开,所以 n o t 指令没有能流流入,然后 n o t 指令就有能流流出,导致 q 零点零有了输出。 我们给 m 零点零写入一, n o t 指令就有能流流入,然后 n o t 指令就没有能流流出,导致 q 零点零没有了输出。 我们重新给 m 零点零写入零,这样程序段一又回到了一开始的状态。程序段二是对比程序,当 m 零点一接通, q 零点一接通, m 零点一断开, q 零点一断开, 负直取反指令,当线圈有能流流入的时候,输出零。当线圈没有能流流入的时候,输出一,和线圈指令的输出状态相反。我们看下效果。 bm 零点二输入一, q 零点二的状态变成零, 给 m 零点二输入零, q 零点二的状态变成一。

大家好,这节给大家介绍一下 s 七二零零当中的计数器,那么这计数器呢有三种,分别是加计数 ctu、 减计数 ctd 和加减计数器 ctu d。 那么这三种技术器呢,都分别可以实现对呃一些外围的一些输入点上的一些数的一些技术啊,一般在一些包装行业或者是流水线上的话,会用的比较多。 那么这三种技术方式呢,在整个的编辑软件当中我们可以看一下啊,第一个编辑软件的话,这个指令在他的左侧点开之后呢,可以看到有计数器, 记住这些点开之后呢会有三个,分别是加技术,减技术和加减技术啊,当然也可以通过这个常用的这个 当中的这个空指链框,然后呢在这个问号这里分辨写上,比如我们先讲第一个 ctu 啊,可以直接在键盘里边写上 ctu 也是可以的, 然后点击确定,确定之后呢他会提他会弹出这样的一个数据快啊,这个数据快呢是为了存储这个技术器所对应的技术值和技术的一些数据, 那么也可以这里点击取消,然后呢自己建一个想的数据快给他进存储。如果说你是 呃一个入门级的,就是大家才刚开始学的话,那么建议这里呢就直接点确定就可以了,我们后面再写呃双重背景之类的时候呢,然后再给大家做优化啊,比如说我们这里呢可以写上中文的技术系一啊,点击确定啊,可以看到我们这 计数器也就拿进来了,这是一个加计数,那么点完这个加计数之后,他对应的这个数据快在哪里可以能看见呢?在项目数当中有一个系统快, 然后呢程序资源下面这个里边的技术器一,就是刚才在点出来之后弹接出来的这个啊,方框当中所自己设定的,那么他的这个呢是 db 一 啊,这是一个说的话,如果我们这里边要添加多个计数器,比如我们再来添加一个 ctu 啊,然后这个时候呢,你看我们如果说默认的情况下,点击确定可以看到在这个程序资源当中会再添加一个 db 二,那么也就意味着如果我有很多个技术器在这个程序当中的话,那么这里的程程序资源就会占用很多 啊,就会占用很多,这明显是不太合理的一种设计方法啊,那么也就是说他这个什么意思呢?假设我们整个的这个计数器啊,整个的这个存储器啊,我们有这么大一块,你每一次写一个计数器之后呢,你就占用了一个 db 一, 对吧?你就占用了一个 db 一,其实呢你你整个技术器当中呢,只是对一些技术器的比较当前值啦,相应的未来进行一些存储,也就是整个 db 当中呢,其实你只用了那么一点点啊,存储控制部分只用了那么一点点,剩下部分都是空着的, 然后呢你又创建了第二个技术器啊,然后呢你用的是 db 二,你又用了一点点,说这样的话,如果说我在这个过程当中用了很多个技术器,结果呢你就用了很大的存储空间,把它给占用掉了, 但是每一次其实你都用了他的一小部分,这样的话明显是对空间是一个极大的浪费啊,就在后面的时候,我们会给大家去介绍一下怎么去做这个解决这个事情啊,假设我们先现在先不管这个,我们把它删掉啊,可以在这边成语成员当中呢,也把它给删除。 好,我们讲一下第一个 ctu 加技术,加技术里面第一个 cu 部分, cu 就指的是因为是加技术,他就是要去技术的对象是谁,就是前端这个地方的点啊,比如写上二零点零, 那么这个所描述的意思就是当二零零零闭合一次之后,这个计数器的值就加一,当他只要闭合一次之后就加一,这个里边的计数器呢,是针对于上升页有效的,就是前面的二零零零从零变成一的时候, 他才会加一。如果也就是说我二零零零如果一直处于闭合状态啊,就从原来零达到一之后就一直闭合,那么最终这个技术期的话只会第一。 如果把一零零零从一变成零断开,这个时候技术其实没有啊,不会技术的。所以的话,技术其实针对于前面这个速端,也就是 cu 端是一个上升液有效的, 他只是在前端逻辑过来从零变成一的时候,他才会记忆啊,他才会记忆。所以呢,在前面这个地方到底需不需要用上升炎的这些指令? 其实呢是不需要的啊,其实是不需要的,也就是在这个过程中呢,其实他本身就是针针对于上身炎有效的,你可以不加上身炎,你加上上身炎之后呢,其实也是一样的啊,结果是一样的啊,这是一个在这个位置的 啊,第二个呢是二段,二段呢,在整个的票车当中,二呢,都代表的是复位啊,复位也就是我这个技术期的话,如果我要记一个值,比如零一二三四五六七八九, 然后呢,我不对这个技术机进行复位的话,那么他最终就只能够记满九啊,又一直在九,就是你出来了,十一十二十三四十之后,那么我怎么能重新再数九呢? 说呢,你必须对计数器进行复位啊,如果不复位的话,这个计数器的话,就相当于一次性的就只能用一次啊,比如说我们后面的 pv 值给我们记五,这是记了五次。 对于 r 端的输入,可以直接输入一个不人的性能量,比如啊,比如 m 三点零 啊,可以这样子去写,那么三点零去写,也可以试用这种啊,开关类型的,比如像这样的写上 m 三六零啊,这两种写法的话,当然是有区别的, 比如我写了这种做法之后,那么这个手呢?呃,这个点的话,就说 m 三点零代表的是前面是常开档, m 三点零,从零啊,变成一之后,那么阿尔短是复位的,我可以把它写成长币,长币的话,意思是说,呃,我 m 三点零呢,从一 啊,从一变成零之后,他才是复位,对不对啊?从一变成零之后,他复位。一个说正常情况之下的话,那么 m 三零是一,当他变成零之后,那么会对接触进行复位,对吧?这是这种,如果说我跟以刚才的这种写法像这样子写,那么这个 m 三零呢,就是从零变一之后 后才能够进行复位啊,他只有这一种情况啊,就在 m 三点零变成一之后,那么这个二段复位是有效的, 那么最短的 c v 是真是一个当前值啊?是一个当前值,当前值在存储的时候,由于技术器的话要存在一个存储空间,那么 c 位的值呢?是存的是当前值,比如说我现在设定了十五, 那么设定的数五这个呢是一个零,一二三四五是一个过程啊,也就是说我需要知道当前技术已经接到多少了,这时候呢可以把当前指的进行存储取起来,那么比如常见的比如 mw, 哎,我用 mw 十来进行存 啊,那么这样的话,我 mw 十里边的内容就是这个技术器的当前指啊,就是技术器的当前指。然后呢我给大家做一下演示,然后把这个设定 稍微调小一点,把上面的为了演示方便,我把它改一下,改成 m 三点一,然后呢我这里边呢对程序进行下载。