MFC工控项目实例之十九手动测试界面输出信号切换

承接专栏《MFC工控项目实例之十八手动测试界面输入信号实时检测》
根据板卡设置界面组合框选项设定的输出信号,通过读取文件中保存的键值,用单选按钮切换输出信号接通、关闭。
1、在Data_1.h文件中添加代码

CString COMB_Data_O_1[]={"夹紧","密闭","进气","平衡","排气","黄灯","绿灯","红灯"};
int COMB_Data_O_Number_1;
unsigned char b_O_1[16];
CString b_str_O_1[16];
unsigned short O_1[16];

2、在JogTest.cpp中添加代码

CJogTest::CJogTest(CWnd* pParent /*=NULL*/): CDialog(CJogTest::IDD, pParent)
{...COMB_Data_O_Number_1=(sizeof(COMB_Data_O_1) / sizeof(COMB_Data_O_1[1]));}BOOL CJogTest::OnInitDialog() 
{CDialog::OnInitDialog();...for( i=0;i<=COMB_Data_O_Number_1;i++){GetPrivateProfileString("输出信号",COMB_Data_O_1[i],NULL,b_str_O_1[i].GetBuffer(20),20,strFilePath);	O_1[i]=_ttoi(b_str_O_1[i]);}void CJogTest::OnRadio3() 
{DO6408Bit(nAddr_1,O_1[1],0);}void CJogTest::OnRadio4() 
{DO6408Bit(nAddr_1,O_1[1],1);}void CJogTest::OnRadio5() 
{DO6408Bit(nAddr_1,O_1[2],0);}void CJogTest::OnRadio6() 
{DO6408Bit(nAddr_1,O_1[2],1);}void CJogTest::OnRadio7() 
{DO6408Bit(nAddr_1,O_1[3],0);}void CJogTest::OnRadio8() 
{DO6408Bit(nAddr_1,O_1[3],1);}void CJogTest::OnRadio9() 
{DO6408Bit(nAddr_1,O_1[4],0);}void CJogTest::OnRadio10() 
{DO6408Bit(nAddr_1,O_1[4],1);}void CJogTest::OnRadio11() 
{DO6408Bit(nAddr_1,O_1[5],0);DO6408Bit(nAddr_1,O_1[6],0);DO6408Bit(nAddr_1,O_1[7],0);}void CJogTest::OnRadio12() 
{DO6408Bit(nAddr_1,O_1[5],1);DO6408Bit(nAddr_1,O_1[6],0);DO6408Bit(nAddr_1,O_1[7],0);}void CJogTest::OnRadio13() 
{DO6408Bit(nAddr_1,O_1[6],1);DO6408Bit(nAddr_1,O_1[5],0);DO6408Bit(nAddr_1,O_1[7],0);}void CJogTest::OnRadio14() 
{DO6408Bit(nAddr_1,O_1[7],1);DO6408Bit(nAddr_1,O_1[5],0);DO6408Bit(nAddr_1,O_1[6],0);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/54306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS基础练习|ES6-类定义和基础

class Animal {constructor(name) {this.name name;}speak() {console.log(${this.name} makes a noise.);} }class Dog extends Animal {constructor(name, breed) {super(name); // 调用父类的构造函数this.breed breed;}speak() {console.log(${this.name} barks.);} }con…

实时语音交互,打造更加智能便捷的应用

随着人工智能和自然语言处理技术的进步&#xff0c;用户对智能化和便捷化应用的需求不断增加。语音交互技术以其直观的语音指令&#xff0c;革新了传统的手动输入方式&#xff0c;简化了用户操作&#xff0c;让应用变得更加易用和高效。 通过语音交互&#xff0c;用户可以在不…

Label-Studio ML利用yolov8模型实现自动标注

引言 Label Studio ML 后端是一个 SDK&#xff0c;用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例&#xff0c;以自动执行标记任务。我们提供了一个示例模型库&#xff0c;您可以在自己的工作流程中使用这些模型&#x…

基于SpringCloud的微服务架构下安全开发运维准则

为什么要进行安全设计 微服务架构进行安全设计的原因主要包括以下几点&#xff1a; 提高数据保护&#xff1a;微服务架构中&#xff0c;服务间通信频繁&#xff0c;涉及到大量敏感数据的交换。安全设计可以确保数据在传输和存储过程中的安全性&#xff0c;防止数据泄露和篡改。…

【数据结构与算法】LeetCode:二叉树

文章目录 二叉树前序遍历二叉树的前序遍历二叉树展开为链表 &#xff08;Hot 100&#xff09; 中序遍历二叉树的中序遍历 (Hot 100)验证二叉搜索树 (Hot 100)二叉搜索树中第K小的元素 (Hot 100) 后序遍历二叉树的后序遍历 层序遍历二叉树的层序遍历 &#xff08;Hot 100&#x…

手机改IP地址怎么弄?全面解析与操作指南

在当今数字化时代&#xff0c;IP地址作为设备在网络中的唯一标识&#xff0c;其重要性不言而喻。有时候&#xff0c;出于隐私保护、网络访问需求或其他特定原因&#xff0c;我们可能需要更改手机的IP地址。然而&#xff0c;对于大多数普通用户来说&#xff0c;如何操作可能还是…

电梯,建模的常见话题

以下是最近一则"女婿开电梯门导致岳父惨死"的新闻&#xff0c;可惜生命的同时&#xff0c;也引发了一系列联想。 不少人不了解或者了解但经常下意识忽略&#xff1a;电梯的门和轿厢是分离的部件。部件之间的协作如果有失误&#xff0c;系统就会出问题。电梯可以看作是…

【Android 14源码分析】WMS-窗口显示-第二步:relayoutWindow -1

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

Python-Learning

补充不熟悉的python知识 1 **是表示平方 注释是用来阐述代码要做什么&#xff0c;以及是如何做的 先编写行之有效的代码&#xff0c;再决定是对其做进一步改进&#xff0c;还是转而去编写新代码 列表常用是append&#xff0c;但也有pop&#xff0c;这个pop是输出一个值&…

kafka基本概念以及用法

kafka基本概念以及用法目录 文章目录 kafka基本概念以及用法目录一、什么是kafka&#xff1f;二、为什么要使用kafka?三、kafka的基本概念四、安装kafka(windows版本)五、命令行控制kafka生产消费数据&#xff0c;创建 删除topic六、java操作kafka消费生产 提示&#xff1a;以…

开源AI智能名片链动2+1模式S2B2C商城小程序源码与工业4.0的融合发展:机遇与挑战

摘要&#xff1a;本文探讨了工业4.0的三大主题&#xff0c;即智能工厂、智能生产和智能物流&#xff0c;分析在各主题下开源AI智能名片链动21模式S2B2C商城小程序源码与之融合的可能性、带来的机遇以及面临的挑战&#xff0c;旨在为相关产业的协同发展提供理论参考。 一、引言 …

Linux系统安装教程

Linux安装流程 一、前置准备工作二、开始安装Linux 一、前置准备工作 安装好VMWare虚拟机&#xff0c;并下载Linux系统的安装包&#xff1b; Linux安装包路径为&#xff1a;安装包链接 &#xff0c; 提取码为&#xff1a;4tiM 二、开始安装Linux

Java入门(基础,常见API,JVM,JUC并发编程)

一.javaSE Java初学者软件安装与idea快捷键-CSDN博客 Java基本概念&#xff08;新手入门&#xff09;_阿伟java资料-CSDN博客 二.常见API JavaAPI-CSDN博客 三.JVM JVM入门-CSDN博客 四.JUC并发编程 JUC并发编程-CSDN博客

Vue2如何在网页实现文字的逐个显现

目录 Blue留言&#xff1a; 效果图&#xff1a; 实现思路&#xff1a; 代码&#xff1a; 1、空字符串与需渲染的字符串的定义 2、vue的插值表达式 3、函数 4、mounted()函数调用 结语&#xff1a; Blue留言&#xff1a; 在国庆前夕&#xff0c;突发奇想&#xff0c;我想…

java项目实现钉钉异常告警实时监控

最近有个小伙伴问我&#xff0c;我们的项目核心业务的地方总是有异常&#xff0c;虽然有打印日志&#xff0c;但不能立马通知我&#xff1b;所以今天我就教大家如何实现异常报警实时提醒 1.需要有钉钉 自己新建的企业用户 2.建一个群&#xff0c;需要有三人以上&#xff1b;…

无环SLAM系统集成后端回环检测模块(loop):SC-A-LOAM以及FAST_LIO_SLAM

最近在研究SLAM目标检测相关知识&#xff0c;看到一篇论文&#xff0c;集成了SC-A-LOAM作为后端回环检测模块&#xff0c;在学习了论文相关内容后决定看一下代码知识&#xff0c;随后将其移植&#xff0c;学习过程中发现我找的论文已经集成了回环检测模块&#xff0c;但是我的另…

【智能算法应用】人工蜂鸟算法求解二维路径规划问题

摘要 本文采用人工蜂鸟算法&#xff08;Artificial Bee Colony Algorithm&#xff0c;ABC&#xff09;对二维路径规划问题进行求解。该算法模拟蜜蜂觅食行为&#xff0c;通过工蜂、观察蜂和侦查蜂的协作来找到最优路径。实验表明&#xff0c;ABC算法在处理路径规划问题上具有较…

项目管理系统如何实现项目申报流程自动化?

传统的项目申报流程往往繁琐复杂&#xff0c;涉及众多环节和部门间的协作&#xff0c;不仅耗时费力&#xff0c;还容易因人为疏忽而导致错误或延误。随着信息技术的飞速发展&#xff0c;项目管理系统的出现为项目申报流程的自动化提供了可能&#xff0c;极大地提升了申报效率和…

jQuery EasyUI 扩展

jQuery EasyUI 扩展 引言 jQuery EasyUI 是一个流行的 HTML5 框架,用于构建交互式网页界面。它提供了一系列的 UI 组件,如布局、窗口、数据网格等,使得网页开发变得更加简单快捷。然而,尽管 EasyUI 功能丰富,但在某些特定场景下,开发者可能需要更多的定制化功能或组件。…

【51单片机】点亮LED之经典流水灯

开发环境 开发板&#xff1a;普中51-单核-A2单片机&#xff1a;STC89C52RC&#xff08;双列直插40引脚 DIP40&#xff09;Keil uVision5 v9.61 最新版破解方法自行百度&#xff0c;相关文档和视频资料很多&#xff0c;我自己将这一操作记录下来当做博客发布&#xff0c;CSDN以…