使用按钮依次切换8个输出且可控制输出通道

本案例使用按钮依次切换8个输出且可控制输出通道,比如控制指示灯,可以输入序号来点亮该序号指示灯,连接时钟信号可以实现跑马灯效果。点击正向按钮则正序依次切换指示灯,如此反复。点击反向按钮则逆序依次切换指示灯。
功能介绍
如果en为false,则所有输出均为false。输入en必须为true,在e = true时只有一个输出qn为true。当e = true时,使用输入up从输出qn切换到qn +1,而输入dn将输出qn切换到qn-1。当e = true时,可以由set输入和输入in值选择主动输出q0..q7。如set=true,in=5将输出q5=true,而所有其他输出都设置为false。当e = true时,输入rst=true将输出q0设置为true,而所有其他输出都设置为false。当e = true时,状态输出总是显示当前选择了哪个输出qn;当e=false时,状态输出保持不变,e再次变为true时,qn再次输出。select_8源代码
select_8实现的是选择器的功能,内部调用一个取模函数inc,详见下面介绍取模运算(inc)以及其代码。
01
取模运算(inc)
取模是除以两个数字时查找余数的操作。因此,当你问“什么是2 mod 2?”时,你是在问 “当你把 2 除以 2 时,余数是多少?”
select_8源代码
function_block select_8title = 'select_8'{ s7_optimized_access := 'true' }version : 0.1 var_input e : bool; set : bool; in : int; up : bool; dn : bool; rst : bool; end_var var_output q0 : bool; q1 : bool; q2 : bool; q3 : bool; q4 : bool; q5 : bool; q6 : bool; q7 : bool; state : int; end_var var last_up : bool; last_dn : bool; end_varbeginif #rst then #state := 0;elsif #set then #state := #in;elsif #up and not #last_up then #state := inc(x := #state, d := 1, m := 7);elsif #dn and not #last_dn then #state := inc(x := #state, d := -1, m := 7);end_if;#last_up := #up;#last_dn := #dn;#q0 := false;#q1 := false;#q2 := false;#q3 := false;#q4 := false;#q5 := false;#q6 := false;#q7 := false;if #e then case #state of 0: #q0 := true; 1: #q1 := true; 2: #q2 := true; 3: #q3 := true; 4: #q4 := true; 5: #q5 := true; 6: #q6 := true; 7: #q7 := true; end_case;end_if;end_function_blockinc源代码
function inc : int{ s7_optimized_access := 'true' }version : 0.1 var_input x : int; d : int; m : int; end_varbegin#inc := (#x + #d + #m + 1) mod (#m + 1);end_function

如何助推智能终端减碳节能?
华为P10闪存门最新消息:华为P10闪存门之后,还值得购买吗?
远特通信将在5G时代补充通信行业的缝隙需求
如何为恶劣环境选择传感器连接器?
全球PLC制造商Top20有哪些?
使用按钮依次切换8个输出且可控制输出通道
什么是set?
realme,Q3与真我 buds air 2neo实际表现如何
对抗极端天气,曙光牵手武汉暴雨所
关于高电压界面的ESD解决方案的分析和介绍
自制5号电池充电器电路图
ams与Precision Biomonitoring携手开发可快速检测COVID-19病毒检测装置
都是光能发电,飞英思特微光能采集与普通光能采集有何区别?
基于位置的VR可以让人们便捷的体验VR
STM32F103C8T6单片机最小系统电路原理图
香蕉派社区推出带10G SFP+ 端口的Banana Pi BPI-R4 Wifi7开源路由器
浅谈AEC-Q200电容汽车级铝电解
米其林研发专用于电动车的碳中性轮胎
电力电容器在钢铁行业供电系统的应用
斗山创新与珠海紫燕合作,促进氢动力系统在工业无人直升机的应用