CM1241与标签打印机通信案例 点击:3202 | 回复:16



柳红岩

    
  • 精华:1帖
  • 求助:7帖
  • 帖子:16帖 | 664回
  • 年度积分:841
  • 历史总积分:16817
  • 注册:2009年8月05日
发表于:2019-09-26 23:25:20
楼主

CM1241-RS232与标签打印机的通信案例

踏入工作有十几个年头了,说实话摸爬滚打中了解一些工控的知识,也算是在蹉跎岁月的同时找到一个混口饭吃的手艺。毕竟大多数的工控人都是应用阶段,无非是上位机的种类,PLC的品牌不同,但是基本停留于应用层,给本手册研究半天,凭多年的经验总能折腾出个三五二。

我一直在使用ABplc,对于其他的控制器可以说用的很少,早期还折腾过台达,西门子200这些后来基本没有涉及过了。凑巧,受人之托要求使用S7-1200完成一套溶液配置的小项目,让我有幸和西门子来了一次亲密接触。话不多说看项目说话。

如上图,两种溶液按照一定的比例混合,并循环搅拌一定时间,只是涉及几个阀门和泵按照顺序动作而已还算简单,最后要求在混合完成后,通过标签打印机打印溶液的浓度,PH值等信息。写到这忍不住想吐槽一下第一次使用西门子,被FB,FC折磨的够够的,对于定时器的使用更是恨的牙痒痒。这个单独在开篇写把说说自己第一次使用的经历。

   打印标签使用的是一个串口通信的打印机,使用西门子CM1241-RS232模块,打印机兼容ESC打印指令具体如下:

                         

CM1241和打印机串口接线为交叉线,如下图:

硬件连接完毕,接下来是软件的使用情况。

首先按照打印机的通信要求设置CM1241串口的波特率,数据位,停止位以及校验,如下图:

至于其他的组态传送消息和接收消息的设定,如果不是复杂的消息,采用默认即可。采用这里的组态方式那么在程序里面就无需在利用port_Configure,send_config以及recive_Config这些指令,除非你想把这些设置放在触摸屏上变成一种可以更改的参数。

发送消息指令:

tempsnip.png

其实发送消息指令就是想Buffer中的数据在request=1时,按照指定的length通过port发送出去。同时返回发送完成,是否错误等状态。其实到这打印机设置和打印的过程就算结束了。是不是太简单了,不错,本来打印标签调用串口指令这些并不难,难的是如何配置标签的内容。

标签打印机结束的指令和字符均为16进制,数字以及字母都是ASCII字符的形式,汉字则是按照GB2312编码编制的416进制数字。例如 “浓”的编码为C5 A8  “B6 C8.如果要打印“浓度”则需要发送”C5 A8 B6 C8”至打印机。

假设我们要打印的标签格式如下图:

                     混合液

品名:酸性   PH值:10.5

浓度:25%

操作员:

日期:2019-09-26  18:31:25

其中酸性,10.5252019-09-26 18:31:25这些参数都是变动的,因此我们需要先建立一套没有参数的模板,然后将变动参数传送入对应的位置即可。

标签模板如下图:

框中数据为需要传送的数据位置,在新的溶液配置完成时,将数据送入这个位置即可:如下

如此以来就可以得到自己需要的标签了。希望这些简单的说明,能够为大家提供一些思路,当然了现在还在使用串口打印的已经不多了,基本都是MES系统或者上位机辅助,但是仍然希望能够给一些困惑的同学带来些启迪。。

 

注释:打印机指令:OD 换行,OA打印并换行

 

 



楼主最近还看过



关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2020-07-20 13:13:09
1楼

写的很不错,我觉得应该会给

http://bbs.gongkong.com/d/202007/835186/835186_1.shtml

帖子作者以启发。

柳红岩

  • 精华:1帖
  • 求助:7帖
  • 帖子:16帖 | 664回
  • 年度积分:841
  • 历史总积分:16817
  • 注册:2009年8月05日
发表于:2020-07-23 21:04:55
2楼

"关育谋" 的回复,发表在1楼
        对内容: 【写的很不错,我觉得应该会给http://bbs.gongkong.com/d/202007/835186/835186_1.shtml 帖子作者以启发。...】进行回复:

        -----------------------------------------------------------------


希望吧,遇到新的问题有点心得 一般都会记录下来,加深印象,方便自己也能启迪他人

yue1883

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 289回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2018年1月15日
发表于:2020-09-08 09:16:53
3楼

更新好资料

wocaonima1314

  • 精华:0帖
  • 求助:3帖
  • 帖子:6帖 | 608回
  • 年度积分:79
  • 历史总积分:304
  • 注册:2014年5月25日
发表于:2020-10-22 14:33:10
4楼

噫嘻,学习学习啦~~~

yue1883

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 289回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2018年1月15日
发表于:2020-11-24 08:42:15
5楼

感谢楼主资料

liwenbing001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 286回
  • 年度积分:0
  • 历史总积分:255
  • 注册:2011年1月28日
发表于:2021-03-22 11:34:03
6楼

谢谢楼主分享

ww2222w2008

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 232回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2013年11月14日
发表于:2021-04-15 15:03:02
7楼

谢谢楼主分享

oycmgg

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 98回
  • 年度积分:21
  • 历史总积分:490
  • 注册:2017年4月22日
发表于:2021-04-15 15:33:21
8楼

正在弄类似的程序 好帖,学习学习!!

he2934631334

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 29回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2019年9月05日
发表于:2021-07-16 15:53:17
9楼

非常感谢!

silky_56

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1828回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年8月15日
发表于:2021-08-06 21:37:46
10楼

谢谢楼主分享

黄鼠狼11

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:158
  • 注册:2021年11月29日
发表于:2021-12-02 14:22:52
11楼

感谢分享http://www.bwgjy.comxzvd

Worldrobot_2016

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 22回
  • 年度积分:36
  • 历史总积分:434
  • 注册:2016年8月03日
发表于:2022-01-01 11:17:06
12楼

感谢楼主分享,又不懂的问题还想向您多多请教。

xiexi123

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 116回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2019年10月08日
发表于:2022-01-17 20:20:51
13楼

学习学习,谢谢分享!

Cheart

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 342回
  • 年度积分:57
  • 历史总积分:796
  • 注册:2020年9月02日
发表于:2024-04-26 08:49:10
14楼

感谢楼主分享经验

Cheart

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 508回
  • 年度积分:182
  • 历史总积分:1021
  • 注册:2020年9月02日
发表于:2024-04-27 08:38:14
15楼

这个挺齐全的,谢谢分享学习

Eric

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:1
  • 历史总积分:21
  • 注册:2018年12月20日
发表于:2024-05-18 09:34:11
16楼

谢谢楼主分享


热门招聘
相关主题

官方公众号

智造工程师