ISS-8Lua是采用Lua语言的可编程串口网口网关。产品硬件采用:32位CPU/32M内存/3个RS232、RS485通用的串口
ISS-8Lua以写语句,调函数方式编程,采用了与**语言(C#,Delphi,VB)类似编程思路。其软件框架支持:多线程编程,串口编程, TCP/IP和UDP编程,SQL数据库接口(可执行SQL语句和存储过程),Modbus主从机功能库,mqtt协议等。同时还提供大量的专业的数据转换和处理函数。
ISS-Lua系列产品采用极简编程,开发人无需学习梯形图、无需安装编译器、SDK,无需编程线,通过以太网上传代码和在线调试。支持透明式多任务系统,零代码实现多个控制任务同时运行。
Lua语言为ISS-8Lua产品带来了远超传统PLC的灵活性,可以迅速实现想法和创意,使之前需要几周甚至几个月的开发项目,缩短至几个小时。
1、代码上传、在线调试均通过以太网TCP/IP来实现,支持远程编程及调试。
完成代码编辑后,直接单击“保存并上传至控制器运行”即可。
选择目标设备IP,单击上传即可将代码上传至目标设备运行。
如果有错误,会直接定位至错误行。并在控制台中显示错误信息。
在"调试及控制台信息"中,会显示各类调试信息。用于排错。
2、功能库列表
同时提供大量例子作为开发架构,简单修改一下即可完成开发项目。
3、串口编程简介
串口功能库可处理各种16进制、ASC码(字符串)串口协议,并支持RS422、9bit通讯等特殊功能。提供了串口轮询函数和单独的读写函数。
下图为处理轮询协议的典型例子
下图为接收下位机单向上传协议的例子
4、TCP/IP编程简介
网络服务库支持:自动化的TCP/IP Client、Server、UDP服务和函数。TCP/IP的断线检测、重连均有后台服务线程完成,无需用户干预。
下图例子:启动一个TCP/IP Client,并且连接至服务器,然后向发送字符串数据,并接收服务器的返回字符串。
下图例子:启动一个TCP/IP Server服务,监听10个Client。在接收到Client数据后,再向Client返回字符串数据。
5、数据转换简介
数据转换函数库功能:将16进制数据和字符串数据转换为浮点数、整数、BCD变量的函数。可满足绝大多数协议处理要求。
下图代码将数组数据转换为float。
下图代码将float转换为数组数据。
6、Modbus Master主机功能库
Modbus Master(Modbus主机)函数库支持:读取功能码01,02,03,04数据。使用05,06,16功能码写数据。
下图例子使用readrtu函数读取Modbus串口下位机数据。readrtu函数可以自动转换16进制数据为实际数值并放入数组,无需开发人编写解析代码。开发人可直接从数组取得实际数据(例如123.33)用于数据处理、上报、协议转换等功能。
也可以向下位机的寄存器写指定的数值。下图使用06功能码向下位机写1234。
7、mqtt函数库
通过此函数库以快速实现mqtt与Modbus或其他串口协议的互转。软件框架同时支持mqtt、Modbus协议和串口编程函数库。在从串口读取(比如readrtu函数)到所需数据后,只需调用几个接口函数,就可以在几分钟内将数据通过mqtt发布至服务器。同时,也可以接收从服务器下发的数据。
如下图所示,只需2个函数即可完成mqtt发布功能,网络故障检测、重连等功能完全由后台服务线程完成。无需开发人干预。
8、Modbus Slave从机功能库
产品置了Modbus虚拟机功能,通过此功能,开发人调用几个函数就可以模拟出多个不同站号和寄存器地址的Modbus下位机。开发人只需调用函数设置Modbus寄存器值,主机即可自动读出,与主机通讯过程完全自动化,开发人无需编写Modbus通讯代码。Modbus虚拟机也支持串口、网口的多主机同时读写。网口可支持*多100个TCP/IP连接同时读写数据,相当于支持与100个主机同时通讯。
如下图所示,只需调用函数,即可将Modbus的功能码03,寄存器地址4,的值设置为1234.25。然后可以用任意网络主机或串口主机读取到所设置的值。
使用Modbus Poll或Modbus Scan读出数据
9、SQL数据库接口(可运行SQL语句及存储过程)
通过此功能可以直接串口、传感器等各类现场数据直接写入SQL数据库。此功能支持数据补传,如果写入失败,控制器会将数据存储进本机Flash存储器,在与服务器通讯恢复后,自动补传数据至数据库。确保不会丢失关键数据。同时也支持只传输变化数据功能。
由于控制器可以直接使用标准SQL语句及存储过程来操作SQL数据库。所以,可以轻松与各类ERP、MES、公众号\APP平台软件实现无缝对接。不再需要平台软件针对各种设备进行繁重的数据采集工作。
在实现了现场设备与SQL数据库直接沟通后,**语言和数据库软件开发人就可以利用SQL数据库强大的数据存储、分析、处理能力,对采集到的数据进大数据行分析,然后利用**用算法,实时优化控制系统参数和过程。使整套系统具备的一定AI学习的特性。
SQLDB库
例子1:使用sql_insert函数调用SQL insert命令直接传输数据至SQL数据库。支持只传输变化数据及失败自动补发。
例子2:使用sql_procinsert函数调用存储过程传输数据至SQL数据库。支持只传输变化数据及失败自动补发。
例子3:使用execsql函数执行各种标准的SQL命令。
各种SQL命令返回的结果集。
例子4:使用sql_execproc函数调用数据库存储过程。
数据库存储过程返回的结果集。
在中心端服务器,我们提供了一个免费的SQL数据网关软件,此软件功能包括:审核允许访问SQL数据库的设备。任何未经审核的设备,将被禁止建立连接。处理、缓冲、转发设备与SQL数据库之间的数据。设置设备对应的数据表、文本文件。记录错误日志用于排错。
同时也可以支持将数据存储进文本TXT文件,提供给其他软件处理。
10、应用场景
1)、工业自动化的数据采集、转换、汇总、上报至数据库或者平台软件。
2)、用于智能家居系统。做为智能家居主机或者联动控制器来使用,可以采集、控制各类串口终端设备,同时也可以与手机、触摸屏、电脑等上位机进行通讯。
3)、二维码扫描控制、付费系统。ISS-8Lua可以通过串口或以太网读取二维码扫描器数据,读取到二维码数据后,可以使用自身强大的字符串功能对其进行灵活处理,实现诸如:数据转换,控制外设状态,或者通知服务器进行支付等操作。