工控软件打印制表功能的实现混合设备
展邦五金网 2023-05-18 12:16:43
工控软件打印制表功能的实现
工控软件打印制表功能的实现 2011: 0 前 言 随着计算机技术的普及和发展,工业控制领域越来越多地运用上位机监控系统。制表打印是上位机监控系统中一项重要功能。由于工业控制过程是连续过程,其打印既包括页式报表打印,也包括行式报警打印,一般采用行式连续纸打印机,比如Epson LQ系列打印机等。WINDOWS环境下打印制表功能的实现,其打印控制功能只适用于连续纸打印机,不适用于页式打印机。 工业控制过程报表打印根据实际过程不同,用户要求不同,一般分为时报、日报、旬报、月报等。报表通常在1台打印机输出,不同报表分页打印;而时报,顾名思义为每1 h或每2 h打印1次的报表,1 d中各次打印时间不连续,但1 d中各次打印结果要连在一起构成一张完整表单,中间不能分页。时报与其他报表又要分开,独立成页;由于工业控制过程是非人为干预的自动过程,这样要求控制程序具有内部识别报表类型、定义并控制打印纸张大小功能。 WINDOWS打印过程与屏幕显示输出过程一样,皆是通过往设备描述句柄(HDC)绘制对象来完成输出工作的,屏幕显示过程使用屏幕显示描述句柄,而打印过程使用打印描述句柄;由此看来,问题的关键在于输出过程所使用的设备描述句柄。通过控制打印设备描述句柄中页面大小,实现打印纸张控制。1 获取打印机设备描述串 一个WINDOWS操作系统下可以同时安装多台打印机,而只能有1台是缺省打印机。打印输出前要确定用哪1台打印机,通过调用GetProfileString函数,取得系统缺省打印机描述串;然后,利用函数FetchStr把打印机描述串中的打印机名、设备驱动程序名、端口名分离出来,为建立打印描述句柄作准备。2 打印机状态检查 检查打印机是否上电、缺纸、就绪等状态。目的是为保证打印过程顺利完成。如果打印过程是直接输出到打印机,则需要应用程序进行打印机状态检查;否则,脱机状态下无须进行,因为应用程序是把打印作业提交给打印管理器,由打印管理器完成打印输出过程,不需要用户程序干预。一般来讲,为了加速打印过程,避免系统死锁,把打印作业提交给打印管理器,在后台进行打印。则应用程序无须进行打印机状态检查。这里,我们把打印作业提交给打印机管理器,所以,没有进行打印机状态检查。3 创建打印设备描述句柄 纸张大小的控制关键在于设置打印页面参数。我们通过用户函数GetPrinterDC去创建并控制打印设备描述句柄;其实现过程的关键是通过3次ExtDeviceMode调用,第1次调用获得DEVMODE所需内存字节数,为下一次调用分配内存空间;第2次调用取得打印机的缺省设置,修改DEVMODE结构中的dmPaperWidth、dmPaperLength参数,实现对纸张大小控制;而最后1次是利用修改后的参数对打印机进行初始化。初始化正确完成,表明给定参数正确,继而通过CreateDC创建打印设备描述句柄PrintDC,为文档输出提供设备。4 打印输出 利用PrintDC绘制对象实现打印过程。WINDOWS标准打印过程是页式打印,以作业形式进行。利用前面创建的PrintDC启动打印文档StartDoc,启动页面StartPage,接着便可以进行文档输出DoPrint。5 清理现场 文档打印完成后,必须对所使用过的设备、变量进行删除或归还,结束打印作业。
- 最好二三线市场是否会成铝门窗业避风港保护元件分析仪器荆门清洗泵陷波器Trp
- 最好泰明是怎样提升工艺细节的订箱机家具螺丝皮辊磨床网络水晶头自动贴标机Trp
- 最好实惠的网络教育推荐在您的不二选择磁力开关光衰减器临安数控铣油加热器Trp
- 最好新型建筑模板支撑经济效益分析电机轴承划线机模切机陶瓷谐振器直流鼓风机Trp
- 最好29日宁波市场球墨铸铁价格行情电脑锈花混流泵南宫铁球制丸机Trp
- 最好多家铝企三季度业绩增幅明显低库存下铝价存槽形托辊钢闸阀空调管三相电表压力阀Trp
- 最好20日重庆市场1铅价格行情变速器封头锯片燃油箱校验仪Trp
- 最好明泰铝业超宽超厚铝板正式进军船舶制造领域板材生产线防伪拉线金属垫片桥架洗车机Trp
- 最好广州市定昌电子有限公司2步进驱动器钢板网康明斯软水器旋转气缸Trp
- 最好3月30日廊坊钢材市场价格行情昌吉高州矿石分析仪绍兴秧盘Trp
- 最好土工膜为汛期垃圾或水库增添新雨衣电表箱号码机脉冲除尘器塑料喷嘴折弯机Trp
- 最好10日河南市场冶金海绵铁价格行情冲压模具古交冷水机组试压泵宜城Trp