2019-01-11 14:31:48
EtherCAT是目前工业以太网中一种主流的总线通讯协议,相比传统的工业以太网,有着众多突出的优点、应用简单是EtherCAT总线的一个显著特点。 概述EtherCAT是目前工业以太网中一种主流的总线通讯协议,相比传统的工业以太网,有着众多突出的优点、应用简单是EtherCAT总线的一个显著特点。 应用特点应用简单?!关于EtherCAT总线的应用具有以下几个特点:1)拓扑灵活——几乎支持任何形...
2019-01-10 08:44:19
用git pull来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge:
xxx/xxx/xxx.php
Please, commit your changes or stash them before you can merge.
Aborti...
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-29 16:28:22
最近在处理一些本地数据库的时候发现,原来使用的Microsoft.Jet.OLEDB.4.0,的方法并不能连接最新的Access 存储文件,而且Microsoft.Jet.OLEDB.4.0不能使用x64的方式生成,而且使用这个数据库引擎效率也是比较低的。这让我比较苦恼。现在发现了另一个新的引擎并且支持x64。Microsoft.ACE.OLEDB.15.0 ,现在给大家展示如何使用。 并且贴出下...
2018-12-28 21:32:23
命名空间:netMarketing.automation.communication功能:RS232串口读写功能详细说明:netMarketing类库中许多类都有后缀helper,通常这些类都是些使用频度较高的类,serialHelper类就是一个高频类,你可以在编写诸如plc内存读写模块时继承本类就可以直接使用串口功能。在工业自动化行业里,串口是使用频度比较高的通讯口,它就像电脑的键盘,很古老却...
2018-12-28 13:33:36
(一)vspd虚拟串口有了这个虚拟串口,可以方便的在本机开发串口通讯程序。并且,在实际运用中,经常会有些一些现有的机器上的软件,会通过串口向外发送数据。我们自己开发的软件就可以利用虚拟串口和它对接。虚拟串口工具生成的是一对可以交叉通讯的端口,如下图勇哥创建了com5,com6,如果你的程序利用com5发送数据,那么另一边的调试助手监控com6就可以收到你发过来的数据。(二)文件比较Beyond C...
2018-12-27 22:13:03
一、 本例使用串口1作为发送数据介质,只写发送示例,接收同理,首先设置串口1通讯参数,串口扩展板扩展板插在slot 1,设置参数如下: 通讯参数:波特率9600,数据位8,停止位1,校验位无,RS232C模式,通讯延迟1秒,其余默认。二、 电脑串口与PLC串口的连接方式,PLC采用USB转串口电缆,接线图如下:注意:不能直接将PC串口线插到CPU...
2018-12-27 08:28:42
忍不住要吐槽一下,这个工厂没事干加个什么域,好好的程序,加了域就出现异常,给勇哥都整些问题出来头疼。下图是这个问题的软件报错截图。由于这个**bzclass.dll是客户的一个监控系统提供的,并非是我自己软件的东西,这让勇哥心里稍稍有一点快感!看来是客户的几个部门之间没有沟通好,自己开发东西加域后能不能用也没测试过,但这个问题还是得解决,客户即使有错,也是供应商的错。2019/1/12 勇哥注:后...
2018-12-26 15:39:06
命名空间:netMarketing.Net.NetSocket.SocketClient功能:同步读写Tcp客户端功能详细说明:这个类名字中有一个socket,指的是它功能的实现是采用Socket套接字方式实现的。这个套接字运行于客户端,所以这个类叫SocketClient。那么Socket连接跟Tcp连接有什么不同呢?创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传...
2018-12-26 14:43:59
命名空间:sharClass.Serialize功能:对象的序列化与反序列化。功能详细说明:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。.NET Framework 提供两种序列化技术:二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不...
2018-12-26 13:54:15
把努力转化成能力的能力。在现实生活中,有很多人明明很努力,但是却经常难以取得进步,也许这个视频能帮到你(来自TED演讲):为什么明明很努力却看不见进步?这个问题上,作者认为不再进步的原因,是我们一直在重复已经掌握的内容,却没有将更多时间花在学习区。那么精力去了哪里呢?作者把我们的投入分为两个区:学习区和表现区。在学习区,我们勇敢地闯入不熟悉的领域,从错误中吸取教训,获得成长;在表现区,我们做最熟悉...
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-24 19:29:22
12月16在麦思博卓越研发之路活动上做了一次演讲,题目是——“开发者的职场成长之路”。有小伙伴反映说听了很受启发,希望看到文字版本,因此我根据当时的演讲,整理了这个系列,分享给大家。预计有 7 篇文章:程序员加薪升职之全路径解析程序员加薪升职之探索适合你的路径程序员加薪升职之职场成长金字塔程序员加薪升职之技术修炼程序员加薪升职之人际沟通修炼程序员加薪升职之项目管理能力修炼程序员加薪升职之走向技术管...
2018-12-24 16:29:31
勇哥公司的OCV机器, 客户要求测试直流电阻, 给我们的资料如下:直流内阻只是测量电池内阻的方法之一, 勇哥在网上找了一下资料, 引用如下:电池内阻作为电池最基本的性能指标,内阻的大小对其性能有着非常重要的影响,在《锂离子电池行业规范条件》中,对电池内阻的测量也提出了要求:企业应具有开路电压和内阻在线检测能力,检测精度分别为1mV和1mΩ。什么是内阻电池在工作时,电流流过电池内部所受到的阻力,它包...
2018-12-23 09:00:32
重大好消息!早在10月20日,财政部、国家税务总局会同有关部门起草的《个人所得税专项附加扣除暂行办法(征求意见稿)》(以下简称《暂行办法》)在两部门官网向全社会公开征求意见之后,将依法于2019年1月1日起实施。《暂行办法》明确了个人所得税法规定的子女教育、继续教育等6项专项附加扣除的具体实施办法。享受这些专项附加扣除,需要哪些条件?通过这些扣除项目,纳税人可以少缴多少个税?跟随下面这张图,一起来...
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-21 11:07:31
远心镜头(Telecentric)是为纠正传统镜头视差而设计的一种高端光学镜头,相比一般镜头而言,它在放大倍率、畸变、视差、解析度等方面都具有绝对优势。下面我们来说说远心镜头选择的十大参数。参数一:远心度(Telecentricity)远心度(Telecentricity)是指物体的倍率误差。倍率误差越小,远心度越高。远心度有各种不同的用途,在镜头使用前,把握远心度很重要。远心镜头的主光线与...
2018-12-21 11:02:40
1.原理介绍远心镜头(Telecentric lens),是为纠正传统镜头视差而设计,它可以在一定的物距范围内,使得到的图像放大倍率不会变化,简单的说这种镜头拍出来的图像没有近大远小关系。远心镜头又分为物方远心镜头、像方远心镜头和双侧远心镜头。下面是两个远心镜头的实物照片。关于远心镜头的原理,网上有一些介绍,但是写的都很晦涩。其实几句话就能说清楚的,最核心的一点是远心镜头是普通镜头与小孔成像原理的...