UC-8PROW-Lua是集成了WiFi功能的可编程控制器,产品基本架构采用工业级高性能32位CPU、32M内存,同时集成8路开关量输入、8路继电器输出、8路模拟量采集(国标2级精度)、带温补的实时时钟模块,并且支持SNTP授时、3个RS485串口。135Mpbs WiFi路由器模块,3个网口,支持PPPoE拨号和VPN。所有端口都具备ESD15KV,600W浪涌防护能力。
UC-8PROW-Lua采用极简开发方式。Lua代码无需编译过程。所有库功能均已自动加载,所有函数均可直接调用,无需关注头文件。也无需搭建SDK、编译器等复杂的开发环境,只需花几分钟安装一个30M字节的Xframe编程软件即可进行编程。而且无需编程线,所有的代码上传、在线调试均通过以太网TCP/IP来实现。
Lua语言为UC-8PROW-Lua产品带来了远超传统PLC的灵活性,可以迅速实现想法和创意,为各类应用设计出专属控制功能,有效提高方案的竞争力。与传统的开发方式相比,UC-8PROW-Lua可以使之前需要几周甚至几个月的开发项目,缩短至几个小时。
1、代码上传、在线调试均通过以太网TCP/IP来实现,支持远程编程及调试。
完成代码编辑后,直接单击“保存并上传至控制器运行”即可。
选择目标设备IP,单击上传即可将代码上传至目标设备运行。
如果有错误,会直接定位至错误行。并在控制台中显示错误信息。
在"调试及控制台信息"中,会显示各类调试信息。用于排错。
2、功能库列表
同时提供大量例子作为开发架构,简单修改一下即可完成开发项目。
3、串口编程简介
串口功能库可处理各种16进制、ASC码(字符串)串口协议,并支持RS422、9bit通讯等特殊功能。提供了串口轮询函数和单独的读写函数。
下图为处理轮询协议的典型例子
下图为接收下位机单向上传协议的例子
4、硬件功能库
产品硬件函数库包括:读取开关量输入(支持轮询和消息两种方式),开关量(继电器)输出控制,模拟量采集(支持单路、多路、和高速多路采集)。读取设置实时时钟。
5、读取开关量输入
UC-8PROW-Lua内置多功能开关量输入,自带信号源,可检测无源开关信号(干节点)的通断,例如,检测各类开关、防盗报警探头、按钮等的通断。也可以直接检测DC0~24V电压信号(湿节点),例如,检测光电传感器PNP、NPN输出信号状态。同时支持轮询和开关量主动上传两种工作方式。
纯开关量干节点的开关量输入接法
0~24V电压PNP信号,湿节点开关量输入接法
0~24V电压NPN信号,湿节点开关量输入接法
下图例子为以轮询方式读取各个通道的开关量输入状态。
下图例子为以消息方式读取开关量输入状态。
下图例子读取开关量on-off,off-on的次数计数。
6、开关量输出(继电器)功能说明
产品内置8个AC220V/150W大功率继电器,可以直接控制AC220V火线,下图为直接控制火线通断的接线图。
注意!UC-8PROW-Lua每路继电器可切换的*大功率为250V/150W,请勿过载。如果受控设备功率超过150W,请外接交流接触器。首先通过UC-8PROW-Lua控制交流接触器,再由交流接触器控制受控设备。
如果受控设备功率大于150W,则需要通过交流接触器进行控制。
下图为通过交流接触器控制大功率220V用电设备接线图。
下图为产品直接控制直流设备接线图
下图例子设置指定通道的继电器开关状态。也支持读取继电器状态和一次设置全部继电器状态。
7、模拟量输入
下图为4~20mA模拟量输入接线方式,产品内部已经集成了高精度采样电阻,所以只能用于4~20mA信号的输入。具体接线方式以下图为准。
出于**考虑,设备不直接支持对变送器的DC24V供电,可从电源端子引出对变送器的供电电源线。
下图为0~5V模拟量输入接线方式,此型号将0~5V模拟量电压直接输入进ADC芯片,所以输入电压不能超过5V,否则将损坏ADC芯片。
下图为0~10V模拟量输入接线方式,此型号将0~10V模拟量电压分压后直接输入进ADC芯片,所以输入电压不能超过10V,否则将损坏ADC芯片。
下图例子为读取指定通道的模拟量输入原始值,并转换成电流值。分别提供了4个函数,可以读取模拟量原始值,4~20mA值、0~5V值、0~10V值,所有数值都已经自动转换完毕,无需用户转换。
下图例子为高速采集1秒的模拟量输入,通常用于生成一段波形或者检测流量。
8、TCP/IP编程简介
网络服务库支持:自动化的TCP/IP Client、Server、UDP服务和函数。TCP/IP的断线检测、重连均有后台服务线程完成,无需用户干预。
下图例子:启动一个TCP/IP Client,并且连接至服务器,然后向发送字符串数据,并接收服务器的返回字符串。
下图例子:启动一个TCP/IP Server服务,监听10个Client。在接收到Client数据后,再向Client返回字符串数据。
9、数据转换简介
数据转换函数库功能:将16进制数据和字符串数据转换为浮点数、整数、BCD变量的函数。可满足绝大多数协议处理要求。
下图代码将数组数据转换为float。
10、Modbus Master主机功能库
Modbus Master(Modbus主机)函数库支持:读取功能码01,02,03,04数据。使用05,06,16功能码写数据。
下图例子使用readrtu函数读取Modbus串口下位机数据。readrtu函数可以自动转换16进制数据为实际数值并放入数组,无需开发人编写解析代码。开发人可直接从数组取得实际数据(例如123.33)用于数据处理、上报、协议转换等功能。
也可以向下位机的寄存器写指定的数值。下图使用06功能码向下位机写1234。
11、mqtt函数库
通过此函数库以快速实现mqtt与Modbus或其他串口协议的互转。软件框架同时支持mqtt、Modbus协议和串口编程函数库。在从串口读取(比如readrtu函数)到所需数据后,只需调用几个接口函数,就可以在几分钟内将数据通过mqtt发布至服务器。同时,也可以接收从服务器下发的数据。
如下图所示,只需2个函数即可完成mqtt发布功能,网络故障检测、重连等功能完全由后台服务线程完成。无需开发人干预。
12、Modbus Slave从机功能库
产品置了Modbus虚拟机功能,通过此功能,开发人调用几个函数就可以模拟出多个不同站号和寄存器地址的Modbus下位机。开发人只需调用函数设置Modbus寄存器值,主机即可自动读出,与主机通讯过程完全自动化,开发人无需编写Modbus通讯代码。Modbus虚拟机也支持串口、网口的多主机同时读写。网口可支持*多100个TCP/IP连接同时读写数据,相当于支持与100个主机同时通讯。
如下图所示,只需调用函数,即可将Modbus的功能码03,寄存器地址4,的值设置为1234.25。然后可以用任意网络主机或串口主机读取到所设置的值。
使用Modbus Poll或Modbus Scan读出数据
13、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文件,提供给其他软件处理。
14、通过WiFi实现无线组网
UC-8PROW-Lua集成的WiFi路由器支持桥接,将其中一台UC-8PROW-Lua设置为AP模式,其他UC-8PROW-Lua设置为桥接模式,将所有WiFi路由器都设置成相同的名称和密码。在桥接成功后,这些UC-8PROW-Lua就会形成一个大的WiFi网络,手机、pad和笔记本可以在这个网络中实现漫游,在任意一台UC-8PROW-Lua的WiFi范围内均可以获得良好的通讯速度。
远端信号被阻挡时,也可以使用以太网LAN口进行级联,确保远端信号正常。
UC-8PROW-Lua也可通过WiFi或以太网扩展功能模块,例如扩展IO数量、增加模拟量输出、模拟量采集模块,如下图所示。