零壹激光官方论坛

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 7169|回复: 7

WebServer功能详解

[复制链接]

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

发表于 2019-6-24 10:48:05 | 显示全部楼层 |阅读模式
WebServer功能作为零壹激光软件的特色功能,是连接ERP,MES系统等进行自动化打标的利器,但是也存在上手较慢的缺点。现在为了让每个用户能够快速上手,特此做了这个教程。

重要提示:WebServer功能必须在事件管理器中设置启用时机才有效,单独进行WebServer配置是不会执行的,实际项目中遇到有客户之前已经调试好了,后来又说无法使用(数据不会变),很大原因就是事件管理器没设置对。

目录

基础教程-SOAP篇  (2楼)

基础教程-数据库篇 (3楼)

进阶教程 (4楼)

高阶教程 (5楼)

常见问题Q&A (6楼)

如果还有疑问,可以在帖子后面跟贴说明,会有技术人员在线解答。常见问题也会收集到6楼的帖子。


下载地址:点此下载(20210319更新)
回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-24 10:48:30 | 显示全部楼层
本帖最后由 德里克阿灯 于 2019-6-24 14:05 编辑

基础教程-SOAP篇
SOAP协议分为1.1版本和1.2版本,两者和服务器端设置有关系,根据实际情况进行选择。设置界面如图。
1.png
样例中,我们测试用的wsdl地址为http://192.168.0.101:8080/axis2/services/WQ01?wsdl
SOAP协议中,需要设置以下内容。
服务器地址:可以是IP地址或者是域名地址;
端口号:默认是8080,需要根据服务器实际情况修改;
方法地址:即需要调用的方法详细的路径;
命名地址:即wsdl文件中targetNamespace后面类似一个网址的内容。
在本样例中,服务器地址是局域网中的192.168.0.101,端口号是8080,方法地址是/axis2/services/WQLY,命名地址是http://service.laser800.com。
设置好服务器之后,需要设置发送和接收的方法名,一般来说,接收的方法名为发送的方法名后加上Response。在我们的样例服务中,包含一个方法叫做getUserInfoByID,对应的接收名就是getUserInfoByIDResponse。
发送设置与接收设置则是一个标签名称与xml内容的一个映射关系,发送设置从本地文档标签名映射到xml发送内容,接收设置从xml接收内容映射到文档标签名,从而达到修改标签内容的效果。
样例中,发送和接收的xml分别如下:
发送端
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.laser800.com">
   <soap:Header/>
   <soap:Body>
      <ser:getUserInfoByID>
         <ser:id>12</ser:id>
      </ser:getUserInfoByID>
   </soap:Body>
</soap:Envelope>
接收端
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getUserInfoByIDResponse xmlns:ns="http://service.laser800.com">
         <ns:return xsi:type="ax21:UserInfo" xmlns:ax21="http://service.laser800.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ax21:ID>12</ax21:ID>
            <ax21:company>1223</ax21:company>
            <ax21:name>132</ax21:name>
            <ax21:phone>1111111</ax21:phone>
         </ns:return>
      </ns:getUserInfoByIDResponse>
   </soapenv:Body>
</soapenv:Envelope>

用户可以根据项目实际需求来编辑对应的配置文件。


回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-24 10:48:34 | 显示全部楼层
本帖最后由 德里克阿灯 于 2019-6-25 10:23 编辑

基础教程-数据库篇
自定义协议即直接通过SQL语句操作远程数据库,目前支持SQLServer、Oracle、MySQL和SQLite数据库的增查删改,以及存储过程的调用和其他常见的操作。
333.png
样例图为SQLServer服务器连接。

(关于SQL语句,可以通过W3School网站学习)

目前对于存储过程,暂时不支持返回内容写在参数中的存储过程写法。(即不支持存储过程定义中,参数带有output的写法)。支持带参数的表值函数以及标量值函数。调用方法如下:
2.png
使用{}大括号将语句括起来,使用call关键字进行调用,参数写到小括号中,类似于编程中函数的调用。

下面是样例分析。
服务器中有这样一个数据库,叫做testTale2,查询语句和查询结果如下:
snipaste20190625_101458.png
这里表关系比较简单,输入一个id,输出一个sn。
结合WebServer配置界面,可以看出,我们建立了一个标记,叫做A,这个A可以是
扫描枪类型,从而实现动态的获取扫码数据。而sn就是我们需要刻印的内容,这里是一个VIN码,可以映射到普通文本标记或者二维码标记等内容,样例中叫做B。这样就实现了一个简单的数据库配置。



回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-24 10:48:39 | 显示全部楼层
本帖最后由 德里克阿灯 于 2019-6-25 11:19 编辑

进阶教程

1.扫码后打开文档,并更新文档内容
有时候在打标中,需要根据数据库内容打开不同的文档(即模板)进行打标。

此时可以在接收设置中添加一项。
3.png
参数名中,填写数据库中实际表示模板名称的列名,然后点击【选择对象名】按钮弹出如下对话框。
4.png
选中文件名单选框,点击确认。
5.png
设置后,会自动将标记名改成内部使用对象名,表示打开指定文档。点击确认即可添加到配置文件中。

6.png
需要注意的是,打开文档操作在配置文件中只能有一个。无需修改顺序,打开文档操作一定是最先执行的。按图中例子,会先执行SQL语句查询,如果查询有结果,则会打开mould列代表的文件名的文档,然后才对其他接收映射进行内容修改。从而达到不同的工件进行不同样式、配置、激光参数等内容的修改。(文档需要事先编辑好模板,调用时自动从数据库修改内容)。


需要注意,该用法需要在数据库中设置好专用的一列来表示模板名称。

2.数据库查询结果挂接实现多条内容组合成一个二维码刻印。
在实际的工程中,遇到过很多的用户都有这样的需求,就是扫码后根据数据库的多条内容,裁剪一部分,根据规则组合成一个二维码进行刻印。针对这样的需求,我们需要对文档进行一定的处理,配合WebServer功能使用。为了配合说明我们建立了一个测试数据库,定义如下:

table1.png
我们需要将其中的sn作为扫码关键字,shiftCode、batchNumber的前四位、lineCode和workOrder的后三位组合成一个二维码进行刻印,那么WebServer设置部分可以这样设置。
demo3.png
文档部分建立一个扫描枪,名称改成A,四个普通文本标记,取消刻印,名称改成B、C、D、E,然后重点在于二维码的设置,采用标记挂接来动态生成数据,如图。 all.png
guajie.png
guajie1.png guajie2.png guajie3.png guajie4.png
分别挂接到B、C、D、E四个标记,同时对于C标记(即batchNumber)截取前四位,E标记(即workOrder)截取后三位,从而组合成一个新的二维码。这里提供测试用WebServer配置文件下载,可以以此为模板按照实际需求进行修改。需要解压缩后将lyw文件拷到U盘根目录导入板卡。
SQLServer_DEMO3.rar (560 Bytes, 下载次数: 24)

回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-24 10:48:44 | 显示全部楼层
本帖最后由 德里克阿灯 于 2019-6-25 11:21 编辑

高阶教程
回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-24 10:49:02 | 显示全部楼层
常见问题Q&A
回复

使用道具 举报

31

主题

831

帖子

7998

积分

超级版主

Rank: 8Rank: 8

积分
7998

论坛元老官方人员资深会员

 楼主| 发表于 2019-6-25 15:20:42 | 显示全部楼层
本地SQLite数据库支持从外部导入excel文件生成数据库进行刻印,默认情况下,新生成的数据库与原excel文件同名,只能读取第一个sheet,表名为table1,列名会自动生成id列,后面的列分别为column1,column2....columnN。

文档下载地址:点此下载
回复

使用道具 举报

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2019-11-13 19:03:55 | 显示全部楼层
最新版本的整体说明书有吗?我都没下载有,下载的有好多功能都没有介绍,特别是数据库联机操作这一块
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|零壹激光官方论坛 ( 粤ICP备18042807号 )

GMT+8, 2024-4-20 16:38 , Processed in 0.066108 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表