TP900打印不干胶标签

已锁定

手机用户20200707612341

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2020-07-07

普通 普通 如何晋级?

TP900打印不干胶标签

2808

6

2023-07-08 16:30:00

[介绍]

在这篇分享文档中,我将向大家介绍一个解决方案,帮助工程人员通过触摸屏连接打印机的方法。这种方法可以解决传统直接连接打印机的问题,尤其适用于已停产的直接连接打印机或需要使用网络共享打印机的情况。

 

[硬件设备]

- 1214 PLC

- TP900 触摸屏

- 普通PC

- Brother 公司的QL800标签打印机

 

[解决方案概述]

我们的解决方案基于以下原理:通过触摸屏写文件到PC机上的共享文件夹,然后利用批处理文件实现对共享文件夹的监控,一旦发现新的文件,即将其打印出来,并删除该文件。

 

[步骤]

 

1. 连接硬件设备:

   - 将1214 PLC与TP900触摸屏通过网线连接。 

   - 将PC与标签打印机通过USB口连接。

 

2. 编写程序:

   - 在PLC中创建一个数据块,用于存放打印所需数据。

   - 在人机界面组态画面上添加数据显示和打印按钮,用于触发打印操作脚本netLog。

   - 编写VBS脚本netLog,将相关数据写入一个文件并保存到PC的共享文件夹。

脚本代码如下:

Sub netLog()

'提示:


'从此位置起写入代码:

 

'初始化文件夹,文件名称

Dim fileName, folderName,   fileLocation,sharefolder,backLocation


fileName = Year(Now()) & "_"   & Month(Now()) & "_" & Day(Now()) & ".CSV"


folderName =   "\\myComputer\logs\logs\"

 

fileLocation = folderName&fileName

 

 

'定义文件夹对象,文件对象

Dim fso,fctl

On Error Resume Next

 

Set fso =   CreateObject("FileCtl.FileSystem")

 

'检查文件夹是否存在,如果没有则创建 

If (fso.Dir(folderName))=""   Then

              ShowSystemAlarm   "no such folder"

              fso.MkDir   folderName

             

Else

              ShowSystemAlarm   "Folder already exist"

End If

      

If Err.Number <> 0 Then

              ShowSystemAlarm   "Error#" & CStr(Err.Number)&"目录不存在 " & Err.Description

              Err.Clear

End If

      

 

On Error Resume Next

      

 

Set fctl = CreateObject("FileCtl.File")

'打开文件对象     

 

 

fctl.Open fileLocation,8

 

      

If Err.Number <> 0 Then

              ShowSystemAlarm   "Error#" & CStr(Err.Number)&" 缺少文件" & Err.Description

              Err.Clear

End If

 

'定义记录位置     

Dim currentPosition, nextPosition

 

currentPosition = fctl.Loc

nextPosition = fctl.Seek

 

 

 

 

 

'定义记录变量:记录号, 桶编号, 桶类型, 开始时间, 结束时间, 有效清洗时间, 电导率

fctl.LinePrint "记录号"

fctl.LinePrint   SmartTags("show_logNo")

fctl.LinePrint "桶编号"

fctl.LinePrint   SmartTags("show_drumCode")

fctl.LinePrint "桶类别"

fctl.LinePrint SmartTags("show_drumType")

fctl.LinePrint "起始时间"

fctl.LinePrint   SmartTags("show_startTime")

fctl.LinePrint "结束时间"

fctl.LinePrint   SmartTags("show_endTime")

fctl.LinePrint "清洗时间"

fctl.LinePrint   SmartTags("show_rinseDuration")

fctl.LinePrint "电导率"

fctl.LinePrint SmartTags("show_finalCond")

 

'向文件添加变量

 

 

ShowSystemAlarm "打印已完成"

 

'关闭文件

fctl.Close

 

Set fso = Nothing

Set fctl = Nothing

 

 

End Sub

   

 

 

3. 创建共享文件夹:

   - 在计算机名为myComputer的PC上创建一个共享文件夹,共享名称为logs,用于接收从触摸屏发送的文件。注意共享的权限为读和写,为了方便,此处设置为所有人可以共享。

 

4. 编写批处理文件:

   - 打开文本编辑器,在新文件中输入以下代码(根据实际情况进行修改):

  

@echo off

 

REM 创建一个局部空间

setlocal enabledelayedexpansion

 

set "folder=D:\logs"

set "backupFolder=D:\PrintBack"

set "interval=5"

 

:loop

REM 检查文件夹是否有文件

dir "%folder%" >nul   2>&1

if errorlevel 1 (

      echo No file exist。等待 %interval% 秒后重新检查...

     

) else (

      REM 获取文件夹中的第一个文件

      for /F "usebackq delims=" %%A in (`dir /B   "%folder%"`) do (

          echo new file: %%A

          REM 等待指定的间隔时间

          timeout /t %interval% >nul

          REM 打印文档

          echo printing...

          start /min notepad /P "%folder%\%%A"

          echo backup...

          REM 等待指定的间隔时间

          timeout /t %interval% >nul

          move "%folder%\%%A" "%backupFolder%"

      )

)

 

REM 等待指定的间隔时间

timeout /t %interval% >nul

 

REM 继续下一次循环

goto loop

   

 

5. 配置和测试:

   - 根据您的实际路径和打印机名称,修改批处理文件中的变量。

   - 保存批处理文件,并确保文件扩展名为 `.bat`。

   - 打开命令提示符,进入保存批处理文件的目录,并运行批处理文件。

   - 在触摸屏上操作并生成文件,观察是否能够自动打印。

 

[注意事项]

- 请确保硬件设备连接正确,并已正确配置相关驱动程序。

- 根据您使用的打印机,您可能需要安装额外的打印命令行工具或驱动程序。

- 请注意共享文件夹的权限设置,确保触摸屏和PC能够正常访问和写入文件夹。

 

[结论]

通过本解决方案,我们成功地实现了通过触摸屏连接打印机的目标。这种方法提供了一种替代方案,在无法直接连接打印机的情况下打印所需文件。

 

希望这个分享对大家有所帮助!如果您有任何问题或反馈,请随时与我联系。祝您使用愉快!


TP900打印不干胶标签 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。