签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
分享PLC数据记录和数据打印处理
整体构思:
软件严格分为“数据采集记录”和“数据打印”两部分,数据采集记录随工作流程记录发生的各种时间需要打印报表或者图形的数据,数据打印版本是待程序运行结束需要打印时集中打印处理程序。
数据采集记录:
首先定义一个数据结构,结构中包括表头,数据行,图形区,表尾几个部分,其中数据行和图形区安装几句容量的要求定义成结构数组,表头记录运行各要素,表尾记录运行的评价结果。
然后定义一个数据块,把上面定义的表结构作为成员,当你需要不止一个记录区的时候,多定义几个很方便灵活,当然这些东西需要定义成掉电保持的,这样及时用户系统掉电或者重启,没有覆盖之前所以的记录都是可以被打印的。
数据打印:
按照自己习惯选用微打,485还是232接口的自便,我一般选用232接口的,原因是方便用RTS-CTS硬件握手,检查打印机状态比如是否在线,是否缺纸,时候忙或者是故障。当然用485接口使用XON-XOFF也是一样的,软件处理起来比232麻烦一点。
数据打印拆分成文本行函数来完成,一般打印机都是收到回车换行才打印的,所以文本行专门做成一个函数使用及其方便。
在文本行打印行数中,可以检测各种打印机状态,打印机异常时候返回一个错误代码,本次行打印打印完成时返还一个TRUE标志,这样每次调用文本行打印就像执行普通指令一样方便,当前文本行打印完成后在看系统打印是否完成确定是周而复始还是结束。
图形区按照记录数据,直接在空闲内存区域生成微打支持的曲线或者图形打印代码,送打印机打印就可以了。
大家有更好的处理打印问题的方法,贴上来一起交流学习吧。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1713479&b_id=50&s_id=0&num=23
灌水,赞一个
呃,实现了吗?
前几天随项目交付了,因为1214C PLC掉电保护RAM太小,目前只能保存2个全运行周期,每周期最大24小时,运行状态不变时记录周期2分钟,状态切换是随时记录。
模拟打印了一个样张,所有的行程指示表格都没意义,仅仅是测试样张。
很有想法的实现
楼主能发下案例吗?我要在200smart上弄 找不到思路。
主楼实现方法已经描述的很清晰了,在S7-200 SMART上实现困难一些,梯形图描述复杂的数据结构有些麻烦。
针对这样的问题,帮别人开发过一块接口板,通过MODBUS串口协议去实现,这样在PLC上就没有什么工作量了,但这样的东西也尽适合批量的产品,接口板需要个性化改写一些东西不算灵活,欢迎交流。
涨知识了,学习中
楼主,可以分享一下程序吗,也可以加您,有偿
一楼的思路已经很清晰了,这个程序是给用户设计的商业程序一部分,不好提供,有问题可以一起讨论,谢谢。
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1711996&b_id=50&s_id=76&num=40#anch
楼主的打印接口数据块,没有接入到功能块里面,是怎么使用的?可以分享下吗
微打有一种比较自由的方法是:打印的内容与出纸区行间距为0的最小分辨率的布尔量点阵矩阵区循环做或运算.
没看懂
你是不是说的是图形叠加?
一般来说,需要作图的话,还是使用打印机基本的图形打印命令更方便一些,我楼上的打印实例图形部分就是用这个来完成的。
引用12楼详细内容:
嗯 这样也不错
得看看,学习学习,用用看。
感谢楼主分享。。。。。。。。。。
敢想敢做,强
您这个是必须流程全部结束后再一次性打印的吧?不是那种产生数据即时打印?谢谢
不错不错!!!!!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录