2023-02-23 08:37:40
(六)串口无协议读写指令RXD、TXD有了串品读写,PLC就可以发信息给上位机,这样可以做许多有意思的事情,比如写个小游戏,可以让PLC做逻辑,上位机程序负责更新界面。RXD为读串口,TXD为写串口。下面的程序中,A526.01的作用如下:当通讯突然中断时,缓冲区内的数据一直保存,事实上,RXD指令并不负责清空缓冲区,换句话说,缓冲区内始终为接收的数据。所以,如果遇到这种问题,你可以执行A526....
2021-06-29 21:16:31
现象是这个网络模块已经可以ping通了,但是使用CX-Programmer的下面的连接工具,都无法连接。这里勇哥已经确认网络模块已经设置正确,跳线没问题。很无语。今天再试下,尝试新建工程,选择正确plc型号。网络必须选择Ethernet,如果你选择那个FINS/TCP,则连接不上。设置好网络模块的ip地址和端口号。这个时候选择“在线工作”成功了,你发现已经连接上plc了,现在是“运动模式”!现在你...
2019-07-01 22:18:02
Q:如何使用SEND指令发送数据?A:步骤1:参数设置——PC以及2台PLC的IP地址&子网掩码注:IP地址均为同一网段;PLC硬件节点号与其IP地址最后一位相同步骤2:编写SEND指令(操作数为S、C、D)具体设置如下S——发送数据首地址C+0——发送数据的长度C+1——00-07位表示目标网络号,如果在同一个网络中传送,此处固定设为00;08-11位对于EIP网络,设置为0;12-15...
2019-03-23 17:18:24
组态软件的一些组件,关联到plc的内存,能反映出plc程序的运行结果。下面的程序模拟了组态软件这种效果,其目的是方便测试plc程序的运行效果,而不借助于实际的硬件。例如我们用plc编写一下交通灯轮换显示的程序,可以用本程序实现实时的结果显示。这里的plc程序勇哥只是用3个输入IO,点亮3个输出IOplc用的是欧姆龙的cp1h下面是pc端的程序,当设置好plc的连接参数和输出IO地址后,会实时显示上...
2019-03-15 10:28:58
命名空间:netMarketing.automation.plc.OmronPlcNet功能:OmronPlc基于tcp的Fins读写类。可用NJ系列,CP1H系列的欧姆龙PLC功能详细说明:OmronPlcNet类是基于tcp的Fins通讯类。可用NJ系列,CP1H系列的欧姆龙PLC。常用函数列表:/// 构造函数
public OmronPlcNet(Byte clientNode, Byt...
2019-03-05 19:56:55
Fins指令是欧姆龙PLC的一种通讯帧方式的通讯方式,上位机可以借助于它实现读写PLC内存。这种Fins即可以基于以太网,也可以基于tcp,本文介绍的是tcp方式的fins。‘’...
2019-03-05 19:52:43
Fins command code:参考Fins通讯手册P81.@:Hostlink协议起始代码2.Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink号。3. Header code:在PC主机直连PLC的情况下,头代码为FA4.Response wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20ms5.ICF、DA2、SA2:在...
2019-02-16 22:17:49
命名空间:netMarketing.automation.plc.OmronPlc功能:基于欧姆龙RS232 Host Link Fins协议通讯类功能详细说明:欧姆龙PLC的 Host Link Fins通讯协议是一种帧通讯协议,它可以批量读取或者写入数据到PLC内存区,支持DM, A, W, T, CIO, H 等内存区,并且可以读了字或者位。另外,HostLink协议只支持读取监视模式下的数...
2019-01-15 21:28:10
多重互锁指令是允许相互嵌套的,如下图所示:其中,编号并非是必须全部是唯一的,而是保证两两MILH之间不一样即可。也就是说,编号可以0,1,0,1这样嵌套使用下去。为了解释清楚多重互锁的意义,勇哥编写了下面的例程。这里我做了两把锁,编号为0,状态位为W100.00编号为1,状态位为W100.01如果我不导通W0.00的话,你会发现你直接导通w0.01是没有效果的。实际上,如果你不导通W0.00,那么...
2019-01-11 14:31:48
EtherCAT是目前工业以太网中一种主流的总线通讯协议,相比传统的工业以太网,有着众多突出的优点、应用简单是EtherCAT总线的一个显著特点。 概述EtherCAT是目前工业以太网中一种主流的总线通讯协议,相比传统的工业以太网,有着众多突出的优点、应用简单是EtherCAT总线的一个显著特点。 应用特点应用简单?!关于EtherCAT总线的应用具有以下几个特点:1)拓扑灵活——几乎支持任何形...
2019-01-08 21:21:10
勇哥学了一段时间CP1H的指令后,突然有兴趣想做点东西。突然想到我学易语言、C#、python后第一个想到的肯定是做点歌软件。(用来点播本地的MTV音乐带搜索功能的小软件,因为勇歌的爱好就是在户外唱歌)。不过,点歌软件有大数据的处理、和互联网操作,cp1h是搞不了的,于是勇哥想到搞简单一点。我只需要利用单片写一段红外遥控的代码,用串口发给plc,plc收到后按我约定好的指令格式向计算机上的一段音乐...
2019-01-08 13:52:13
数据移位指令就是位操作指令,在C语言中,或者熟悉单片机编程,或者熟悉PC汇编语言的朋友都不会陌生。恰恰勇哥以上都比较熟悉。最早的程序员们,像386计算机这种pc的时代,为了让游戏速度更快,发明右移运算代替乘法的窍门,那时候勇哥还比较崇拜他们呢。换成在PLC里面,位操作似乎无所不在,全部指令的命令字都是以位来进行控制的。欧姆龙的输入输出IO通道都是按位操作的。WSFT 字移位由实验可以看到,D0开始...
2019-01-07 20:43:31
16个变址寄存器(IR0--IR15)用于间接寻址,每个变址寄存器存储一个单独的PLC存储地址,该地址是在I/O存储区中一个字的绝对地址。用MOVR指令将一个常规数据区地址 16个变址寄存器(IR0--IR15)用于间接寻址,每个变址寄存器存储一个单独的PLC存储地址,该地址是在I/O存储区中一个字的绝对地址。用MOVR指令将一个常规数据区地址转换成它的PLC存储地址,并将该...
2019-01-07 15:11:38
PID英文全称为Proportion Integration Differentiation,PID控制又称比例积分微分控制,是一种闭环控制。下面以如图7-13所示的恒压供水系统来说明PID控制原理。 图7-13 恒压供水的PID控制 电动机驱动水泵将水抽入水池,水池中的水除了经出水口提供用水外,还经阀门送到压力传感器,传感器将水压大小转换成相应的电信号Xf,Xf反馈到比较...
2019-01-07 14:49:09
什么是块程序能够在用户程序全体(全任务共通)中,最大可以创建128 个被称之为「块程序」的区域。块程序区域只根据1 个输入条件(功率通量)进行起动。起动后,BPRG~BEND 为止的指令被无条件执行。(除BPRG 指令之外,块程序区域内的指令的执行与输入条件(功率通量)无关)。因此,能够将由相同的输入条件ON 所进行的动作指令归并在该块程序中。将全体作为1 个块,用阶梯程序对该块进行起动。其中的指...
2019-01-07 10:36:50
勇哥是计算机专业毕业的,对于计算机的中断太熟悉不过了。所以对于中断是干什么的,怎么工作的,这里就不在赘述了。对于plc这种讲究实时响应的设备上来说,中断由于优先级别高,我相信意义是很大的。但是勇哥对于plc上的中断究竟能干些什么,由于初学plc,所以没有对应的项目经验,只能是先了解为主,以后再来补全。CP1H的中断功能的种类:●输入中断(直接模式) CPU 单元的内置输入发生OFF→ON 的...
2019-01-06 23:08:00
如果只是JOG+,JOG-,请参考程序第0,3步的演示。第0步往正方向运动,第3步往负方向运动。如果w0.01或者w0.02断开,则调用第6步的INI指令停止轴运动。第9步调用指令ORG回原点。第10步用来中止回原点动作。回原点的方向、速度、回原点的方式都是通过“设置”面板来设定的。第19,20步发固定脉冲走距离,CW是正方向转动,CCW为负方向转动。第13步为走固定脉冲的指令提供参数设定。本例源...
2019-01-06 21:11:18
结构化语言ST是作用于功能块编程中。这门语言对于梯形图中不善于处理的数值运算等逻辑算法,采用类似于高级语言的语法,使其变得简单。下面先从功能块的相关知识说起:CP1H的功能块规格:功能块定义数: 128实例数:256实例嵌套级数:cx-programmer6.0及以后,支持8级嵌套IO变量数:最多64个变量变量类型:注意:TIMER和COUNTER数据类型不能用于结构化文本功能块。在内部变量中,其...
2019-01-06 09:22:39
MOV$ 字符串传关指令这个指令只需要指定源字、第一个目标字勇哥很奇怪它怎么知道我传送多少个字符串?经过实验,我发现它是由源字开始,一直传送到0结束的字符串。也就是0做为要传送字符串的结束符。下面我截了内存区的图像,各位一看便知。LEFT$ 从左边取子字符串这个比较简单,看内存区截图。还有一个指令是取右边的子字符串,RGHT$这个名字勇哥忍不住要吐槽一下,实在是不好记,就不能叫RIGHT$? 真...
2019-01-05 22:12:51
在欧姆龙中,可以通过SSET(设置栈大小),PUSH(向栈中压入数据)以及FIFO(以队列方式读取数据)来实现这一过程。首先,通过SSET指令来设置栈大小,欧姆龙的队列需要固定4CH的空间存储栈管理信息,且因为FIFO会保留最后一个数据,为了确保你的程序可以结束掉,所以还需要多申请一个CH的空间用于存放工艺步骤结束标志。因为演示程序使用的是3个通道,那么这里的栈空间申请了8个通道。勇哥来介绍一下演...
2018-12-30 22:22:56
欧姆龙PLC的功能块勇哥暂时理解为是一种拥有输入输出参数的自定义的指令。它的好处是实现功能复用,从梯形图上看来很简洁,可以减少plc内存消耗。如果仅仅是实现功能的利用,显然功能块无法和子程序区分开来,功能块拥有自己特殊的定义与调用方式。功能块有两种方法,一是梯形图形式,二是ST文本形式(结构文本),两者区别只是编码方式不同。(一) 梯形图形式的功能块首先创建一个梯形图功能块然后进入功能块的参数与梯...
2018-12-30 16:35:03
(七)时序输出指令keep,set指令都属于时序输出指令,勇哥感觉叫时序输出不太恰当,但是因为欧姆龙的手册上是这么叫的,我也只能这样叫了,还是要忍不住要吐槽一下。KEEP, SET都是置位并且保持状态用的,它们的区别总结一下:keep與set,reset基本上是相同,keep兩個輸入set與reset必須與指令在相同位置.set與reset可以分開不同位置,如set在IL/ILC,JUMP/JME...
2018-12-27 22:13:03
一、 本例使用串口1作为发送数据介质,只写发送示例,接收同理,首先设置串口1通讯参数,串口扩展板扩展板插在slot 1,设置参数如下: 通讯参数:波特率9600,数据位8,停止位1,校验位无,RS232C模式,通讯延迟1秒,其余默认。二、 电脑串口与PLC串口的连接方式,PLC采用USB转串口电缆,接线图如下:注意:不能直接将PC串口线插到CPU...
2018-12-25 21:03:11
(四) 增量与减量++指令,BIN增量加一指令, 对应的还--指令。这个指令类似于C语言中的++和--,勇哥看上去亲切无比。它还有加L的指令,也就是倍长指令,可以操作32位数。下面的例子可以很清楚看出倍长指令的区别。 如果你对一个常数100自加,会发生有趣的现象。你的100.0到100.7的输出IO的灯会狂闪,勇哥实验时步进电机接到了100.0,看到居然电机在运动!2018.12.26注:勇哥后来...
2018-12-24 19:55:36
(2)计数器CNT为减法计数器,如下图中,1.09按下则计数器初始值复位为10,按下1.07,在其上升沿时执行减1,当减为0时计数器状态变onCNT为BCD方式,CNTX为BIN方式,它们功能是一样的,区别是BIN方式可以记数的上限要大一些。·BCD 方式时0~9999 次·BIN 方式时0~65535 次CNTR可逆计数器,如下图中,1.07按下则计数器加1,当加到10时,再按一次加到0,这时候...
2018-12-21 20:57:47
引言:勇哥也是初学欧姆龙PLC,如果我们按着官方手册来初学,障碍与花的时间都是很多的,因此在此把学习心得记录下来,以方便大家能按此心得加快学习的进度。常用的存储器功能区CIO:输入继电器 272 点(17 CH) 0.00~16.15输出继电器 272 点(17 CH) 100.00~116.15内部辅助继电器 4,800 点(300 CH) 1200.00~1499.15 (1200~14...
2018-12-20 21:13:56
勇哥初次接触CX-Programmer下编写CP1h程序,见到搞电气的同事很容易做到的功能自己研究要花许多的额外时间,特别将一些摸索到的常见知识点在此记录下来。这个贴子勇哥会持续更新。(一) 编程模式、运行模式、调试模式编程模式:PLC停止运行。可以对内存进行清零(格式化)操作。运行模式:PLC运行中,不能对PLC进行操作。监视模式:可以在线修改寄存器的值,也可以对I/O点和辅助继电器进行操作。可...
2018-12-16 09:03:35
C:轻松的练习:C-2 应用定时器程序-1off-delay定时器,One-shot定时器要求: 按下x20后立刻松手,红灯(y5)点亮,维持点亮3秒后关闭。 按下x21后(上升沿)绿灯(y6)点亮,维持点亮5秒后关闭参考程序如下:第0步的代码我们称为off-delay定时,第8步的代码我们称为on-short定时。前者如果你按住x20不放手,则红灯(y5)亮,但是定时器t1不...
2018-12-14 13:38:36
cp1h机型是可以配置网络模块的,型号为CP1W-CIF41, 这一点在cp1h的手册里面居然没有提。也许勇哥的cp1h手册版本号老了?在淘宝上查了一下,这个模块比plc本身还贵。由于公司目前及以后的与欧姆龙plc的通讯方式都改为了tcp/ip,因此这个模块还是值得详细了解一下。这个模块拿到手后,其默认IP地址为192.168.250.1 先把你自己的主机改为和它相同的网段,例如192.168....
2018-12-08 08:43:09
测试步进电机型号为42HS26MF11DL,网上还搜索不到,也不知道品牌。如何区分2相步进电机出来的四根不同颜色的线的AB相?二相混合式步进电机,输出四根线。一般为红,蓝,绿,黑,默认分别对应A+,A-,B+,B-。如果接上去跟需要的运行方向不同,只要对调A,B两相即可。同相区分,可以短接任易两根线,转动电机。有阻力时的两根线为同相。注意这个操作可以在不通电的情况下做。(但是勇哥的这个电机因为很小...