西门子HMI制作数码管显示数字

因为前一阵子做了停车库的相关案例,突发奇想在HMI上做一个数码管显示剩余车辆的信息,今天上午没什么事情,索性就记录一下制作过程。

数码管显示数字原理

这是一个经典的数码管图片,我们对每个边编一个号码,想让他显示数字,就是控制对应的几个编号亮灭。

比如数字‘0’,我们只需要让7号灭,1~6号亮。

数字‘1’,我们需要让2~3亮,其余灭。

西门子HMI制作

我们首先添加一个颜色为黑色的矩形框为底面,为了显示更加清楚,也是用来模仿显示中的显示。

随后在黑底上面使用矩形框建7个小矩形框。

程序

我们建立一个FC块,输入就给数字,输出小矩形对应位置的亮灭。

CASE #I_iNum OF
    0: 
        #T_byteLightOn := 2#0111_1110;
    1:
        #T_byteLightOn := 2#0000_1100;
    2:
        #T_byteLightOn := 2#1011_0110;
    3:
        #T_byteLightOn := 2#1001_1110;
    4:
        #T_byteLightOn := 2#1100_1100;
    5:
        #T_byteLightOn := 2#1101_1010;
    6:
        #T_byteLightOn := 2#1111_1010;
    7:
        #T_byteLightOn := 2#0000_1110;
    8:
        #T_byteLightOn := 2#1111_1110;
    9:
        #T_byteLightOn := 2#1101_1110;
    ELSE
        #T_byteLightOn := 2#0000_0000;
END_CASE;
#O_arrLightOn[1] := #T_byteLightOn.%X1;
#O_arrLightOn[2] := #T_byteLightOn.%X2;
#O_arrLightOn[3] := #T_byteLightOn.%X3;
#O_arrLightOn[4] := #T_byteLightOn.%X4;
#O_arrLightOn[5] := #T_byteLightOn.%X5;
#O_arrLightOn[6] := #T_byteLightOn.%X6;
#O_arrLightOn[7] := #T_byteLightOn.%X7;

程序对应写完之后,我们要对HMI对应变量链接:

以此类推,7个链接完。

效果

可以看出基本显示已经成功,但是没有亮绿色部分跟底色有些不搭,也就是美观性不足,我们需要改进。

改进

每块小矩形在不亮的时候我们让他和底色相同,就不会显示的那么突兀了。

效果如下:

这样显示是不是会更好呢?

好了,本次讲解结束,如有不懂的地方可以私信我哦。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值