这段时间做了个小项目,有关数据采集的,用的平台是labview,功能是上位机要通过串口与四把扫码枪通信,收到条码后给PLC启动指令,PLC测试完成后给上位机指令,上位机开始存数据和显示。

在做的过程中遇到了一些问题,前面博客有写点击打开链接

做这个项目经历了人生第一次出差,到厂方后,发现前期沟通的功能需求跟实际的需求至少有百分之80不一致,也就意味着前期做的软件需要全部推翻重来……大概熬了一整天完成了新版功能需求的软件雏形。

做完第二天到厂房做现场测试,发现上位机无法收到数据,或者偶尔收到条形码的信息,经过各种调试,用串口调试助手试验,大概得出两个可能的原因:

1.程序中采用串口收发数据,在一次写、一次读之后没有清除缓冲区,就可能发生上面的情况;

2.程序中设计的是用hostlink协议一次读取PLC80个寄存器的内容,总共有三百多个字节,通过串口调试助手试验,读取格式为:@00RD0290004059*回车  ,发现每次只能收到一百三个左右的字节,考虑是不是hostlink协议对PLC读写有什么限制。

发现问题后回去加班做了两部分的修改:

1.在每次写之后和读之前加上了清除缓冲区模块;

2.把一次读取80个寄存器的命令改为读取四次,每次读取20个寄存器。

修改完成后,在室内进行模拟试验,已经能正确读写数据,并能显示存储。

随后信心满满再次去厂房进行现场调试。又有新的问题:

1.单个扫码枪一次工作,PLC依次启动时,软件一切正常;

2.两个扫码枪一起工作时,程序会报错,PLC读取超时。

分析原因:

程序中写了四次读取PLC寄存器,代表四把扫码枪对应工位的产品谁在检测,两个同时启动时,可能读写存在冲突,一个在读时,另一个工位又启动了,就无法写入了,所以产生错误。

发现问题后,由于时间有限,只能回学校修改,解决的方法就是加了若干个标志位,也就是布尔变量,在一个工位进行读写操作时,屏蔽其他工位的读写,随时保证程序中只有一次读写。

修改完成后,在实验室模拟了现场的测试流程,目前没有发现BUG,现已交给厂房测试,等反馈。

总结:

1、做产品的跟在实验室做研究真的是完全不一样;

2、做软件的需求分析太重要太重要太重要了!彻底搞清客户的需求,能少做很多无用功。这次也是因为在学校的局限性,一直电话沟通,厂房那边的对接人员不是很懂,这几方面原因造成了这次功能需求了解不清楚。

3、都说程序员百分之20在写代码,百分之80在改代码,这次体会到了。在调试过程中,通过发现问题,解决问题,才能提高。

后续待补充:

关于Hostlink命令分为C-mode以及Fins,它们的命令格式和字节限制需要一整篇博文来专门总结,后面再写。

上图:(最终软件界面)

labview通过hostlink读写Omron CJ系列PLC,同时与多把扫码枪进行通信(心得)相关推荐

  1. OMRON CJ系列CJ1W-EIP21通过网关设备 EtherNetIP转RS232/485与Modbus Slave软件测试记录文档

    OMRON CJ系列CJ1W-EIP21通过网关设备 EnTalk EtherNetIP Adapter - RS232/485与Modbus Slave软件测试记录文档 时间:2021年2月26 记 ...

  2. 欧姆龙CJ系列PLC五大扩展模块实战演示

    欧姆龙深耕自动化行业多年,CJ系列PLC作为欧姆龙小型PLC以其较高的性价比,丰富的模块种类,良好的扩展性与兼容性受到了越来越广泛的应用.本课程选取了CJ系列PLC中使用比较多的5个扩展模块,对各个模 ...

  3. 欧姆龙PLC程序 欧姆龙CJ系列PLC程序公司级程序模板,配触摸屏程序,工艺功能都很齐全

    欧姆龙PLC程序 欧姆龙CJ系列PLC程序公司级程序模板,配触摸屏程序,工艺功能都很齐全,日制标准,按着客户需要编程,程序中基本没有SET,RSET指令,逻辑经过不同项目验证过,拿过来添加自己设备的工 ...

  4. OMRON CP系列PLC非致命错误009B

    OMRON CP系列PLC非致命错误009B 一台既有设备上使用2台CP1E组态成PC Link.运行时间不等,PLC上ERR/ALM灯闪烁,但不影响运行,错误日志可以清除.查硬件手册,是非致命错误, ...

  5. 三菱FX5U系列PLC与三菱D700变频器进行RS485通信的具体方法和步骤

    三菱FX5U系列PLC与三菱D700变频器进行RS485通信的具体方法和步骤 以RS-485通信方式连接FX5U系列PLC与三菱变频器,最多可对16台变频器进行运行控制.各种指令以及参数的读出/写入. ...

  6. 欧姆龙CP/CJ系列PLC以太网通讯方案

    欧姆龙CPCJ系列PLC以太网通讯方案 描述: NET30-CS用于欧姆龙CP1E/CP1H/CP1L/CJ1M/CJ2M等系列PLC. NET30-CS 桥接器采用三通设计,不占用PLC通讯口,不对 ...

  7. C# SerialPort 读写三菱FX系列PLC

    1:串口初始化 com = new SerialPort("COM3", 9600, Parity.Even, 7, StopBits.One); 2:打开关闭串口 if (com ...

  8. 欧姆龙CJ系列PLC连接CHNet-CJ实现以太网通信配置方法

    产品简介 CHNet-CJ是兴达易控自主研发的一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CJ1M/CJ2M/CS1/CG1/NX1P ...

  9. 欧姆龙CP系列PLC转以太网连接CHNet-CP实现以太网通信配置方法

    产品简介 CHNet-CP是兴达易控研制的一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CP1L/CP1E/CP1H系列PLC的以太网数 ...

最新文章

  1. 例4-1和例4-2和例4-3
  2. python turtle 画闹钟
  3. 安装python及web.py
  4. 一招教你掌握肌肉发力的感觉
  5. 【OpenCV3】基于双目视觉的三维重建
  6. linux sysconf函数,linux c sysconf函数 得到系统配置
  7. 软件 Bug 引发的致命事故,程序员责任何在?| 技术头条
  8. Tcp keepalive详解
  9. 怎么锁定计算机的ip地址,怎么设置固定IP地址让电脑上网
  10. visual Paradigm如何创建BPMN图?
  11. 计算机打开查看方式默认是什么样,如何更改win10系统电脑图片的查看方式 怎么将电脑图片查看方式改成缩略图...
  12. 英雄之舞 | 迷踪“安可心”
  13. leetcode5490
  14. Jmeter读取excel表格数据响应数据乱码
  15. dalsa工业相机8k参数_dalsa线阵相机Linea系列2K4K8K
  16. OpenGL | 设置视口glViewport 裁剪glScissor 屏幕截图 glReadPixel
  17. 【电子器件笔记6】三极管(BJT)参数和选型
  18. 领扣--唯一摩尔斯密码
  19. 微信公众号之验证码推送(spring-boot+测试号)
  20. flashback 闪回 (final)

热门文章

  1. Integer 和 int 的区别
  2. 2018年BAT薪资
  3. Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation 个人总结
  4. Educoder/头歌JAVA——CSS从入门到精通——基础知识
  5. TypeScript 贪吃蛇游戏详细教程
  6. LED数码管动态滚动显示“Hello(HELLO)”
  7. 在网页中显示高亮的代码块
  8. Table表格刷新内容后
  9. 写给身为程序员的一些话(非鸡汤,只是一些发自内心的话)
  10. sqlite之pager模块