工业树莓派:虹科RevPi DIO模块功能测试

RevPi 数字IO模块有三种版本,均可以通过PiBridge与Core模块直接相连。它们的前端都具有相同的28针I/O连接器。除了具有14个数字输入和14个数字输出的标准版本外,还有两个特殊版本,它们仅具有16个数字输入或16个数字输出。根据EN 61131-2的要求,所有版本都有抗干扰保护,并且可以在-40°C到55°C的温度范围,相对湿度高达93%的环境内运行。此外,所有数字IO模块都具有UL认证(UL文件号E494534)。

输入和输出的开关状态通过PiBridge与RevPi Core的中央处理映像进行周期性数据交换。除了切换状态之外,它还可以周期性地传输可能的错误状态(诊断数据)和配置数据。RevPi DIO模块还配备了PWM(脉冲宽度调制)和计数器输入,可以根据需要单独为各个输出激活PWM功能,为各个输入通道激活计数器功能。

本文将借助一个LED灯和一个按钮,进行DIO模块的简单实操,测试其控制输出状态、读取输入状态、PWM输出模式以及输入端口计数器的功能。

所需硬件:

PC

RevPi Core模块一个

RevPi DIO模块一个

24V电源

PiBridge连接帽一个

LED灯及电阻各一只

按钮一个

RJ45连接线一根

路由器一台

所需软件:

Advanced IP Scanner

Putty

1.模块连接

通过PiBridge连接帽,将Core模块和DIO模块连接起来,并接好电源线。注意DIO模块顶部有额外的X2插头用于供电,从而使得模块具有电流分离的输入和输出,可以使用独立的电源进行供电,当然也可以连接在X4插头的电源上。

图1-1 模块连接

根据DIO模块的输入输出端口分布图,分别将LED灯正极和按钮分别接在Output_1和Input_1端口,LED负极接电源负极,按钮另一端接电源正极。(注意LED灯应串联一个限流电阻,防止电流过大,烧坏元件)

图1-2 LED及按钮连接

2.Pictory配置

将Core模块通过RJ45端口连接到路由器上并上电后,从位于同一局域网的电脑端进入Pictory界面(在电脑浏览器输入Core模块的IP地址即可,可通过Advanced IP Scanner获取Core模块的IP地址)。

从界面侧边栏拖拽出DIO模块并放置在Core模块的右侧(若在连接实物时将DIO模块连接到了Core模块的左侧,请按实际情况配置)。

图2-1 Pictory模块配置

在界面右下角将I_1改为Button,将O_1改为LED。点击File->Save,然后点击Tools->Reset Driver。

图2-2 变量名称更改

3.配置输出端口状态

打开PuTTy软件,输入Core模块的IP地址,选择端口22和SSH连接方式,建立远程连接,根据Core模块侧面标签上的用户名和密码登入系统。

调用piTest -r命令,首先读取当前LED端口的输出状态(Ctrl+C停止读取):

图3-1 读取当前输出状态

读取到过程映像中LED(即Output_1端口)的当前值为0,即当前端口输出低电平,此时LED灯未点亮。利用piTest -w命令向LED写入1,使其输出高电平,成功点亮LED灯。

图3-2 更改输出状态

图3-3 点亮LED

4.读取输入端口状态

调用piTest -r命令,读取Button的值,并在读取的过程中按下按钮,查看其值的变化:

图4-1 读取输入端口状态

可以看到,当按下按钮时,该输入端口接入高电平,因此读取到的数值为1。松开时,又恢复为0。

5.PWM输出

进入Pictory界面,在右下角Value Editor栏中,进行以下更改:

图5-1 激活Output_1的PWM功能

上图中OutputPWMActive值设为1,表示激活O_1(即LED)的PWM功能,若要激活O_1和O_2的PWM功能应将此值设为3,即二进制的11。OutputPWMFrequency可以设置PWM的频率,这个频率对于所有的输出端口均有效,后面的百分数表示设置占空比的步长。

Save并Reset Driver,通过PuTTy软件,依次输入以下命令:

图5-2 PWM占空比设置

上图的命令分别表示输出占空比为20%、50%和100%的PWM波。此时LED灯的亮度会有所不同,占空比越低,亮度越低。下图展示了不同占空比时LED灯的亮度,由于拍摄原因区别可能不是很明显,但肉眼直接观察实物的话可以很明显看出不同。

a.占空比为20%

b.占空比为50%

c.占空比为100%

图5-3 LED亮度对比

6.输入端口计数器功能

进入Pictory界面,进行以下配置:

图6-1 启用Input_1的计数器功能

选择InputMode_1(即1号输入端口)的工作模式为计数器,上升沿触发,Save并Reset Driver。计数器的数值将存储在变量Counter_1中(可以在pictory界面修改变量名称),通过piTest -r命令不断读取Counter_1的值,并在此过程中尝试点按按钮,观察变化。

图6-2 计数器功能测试

可以看到,每按下一次按钮,Counter_1的值便会增加1。

7.总结

以上就是本次实操的全部内容,本文成功测试了RevPi DIO模块的基本功能,包括读取并转换输出状态、读取输入状态、输出端口的PWM功能以及输入端口的计数器功能。

要了解更多工业树莓派的相关内容,请访问https://www.hohuln.com/rev-pi/获取更多信息。

关于虹科

虹科是一家在工业物联网IIoT行业经验超过3年的高科技公司,虹科与世界领域顶级公司包括EXOR、Eurotech、Unitronics、Matrikon、KUNBUS等合作,提供先进的高端工业4.0 HMI、高端边缘计算机、IoT开发框架、PLC与HMI一体机、OPC UA、工业级树莓派等解决方案。物联网事业部所有成员都受过专业培训,并获得专业资格认证,平均3年+的技术经验和水平一致赢得客户极好口碑。我们积极参与行业协会的工作,为推广先进技术的普及做出了重要贡献。至今,虹科已经为行业内诸多用户提供从硬件到软件的不同方案,并参与和协助了众多OEM的设备研发和移植项目,以及终端用户的智能工厂和工业4.0升级改造项目。