『7x24小时有问必答』
点击蓝字

PLC自动化汇
关注我们
作者:一个还在改程序的工程师

时间:凌晨2:38

程序声明

// 版权所有:苦逼电气工程师联盟// 修改记录:永远在修改中// 版本号:V1.0.0.0.0.1_beta_test_final_final2PROGRAM  Engineer_LifeVAR      头发数量 :  INT;  // 定义发量变量      咖啡摄入量 :  REAL;  // 咖啡计量      老婆怒气值 :  INT;  // 家庭和谐指标      调试进度 :  REAL;  // 永远达不到100%END_VAR

主程序开始

// 主程序:电气工程师的一天METHOD MainProgram : VOIDVAR      起床闹钟 : TIME := T#6H;  // 6点起床      上班时间 : TIME := T#8H;  // 8点上班      下班时间 : TIME;  // 这是个理论值      实际下班时间 : TIME;  // 这是个随机值END_VARBEGIN       // 初始化      头发数量 :=  10000;  // 初始发量      咖啡摄入量 :=  0.0;      老婆怒气值 :=  0;      调试进度 :=  0.0;

       // 主循环      WHILE TRUE DO             // 章节1:美好的早晨            IF 起床() THEN                  喝咖啡(250.0);  // 早上第一杯                  检查手机();                  IF 收到客户电话() THEN                        老婆怒气值 := 老婆怒气值 +  1;  // 周末加班预警                  END_IF;            END_IF;

             // 章节2:上班路上            挤地铁();            IF 收到出差通知() THEN                  老婆怒气值 := 老婆怒气值 +  5;                  咖啡摄入量 := 咖啡摄入量 +  100.0;  // 需要更多咖啡因            END_IF;

             // 章节3:现场调试            现场调试();

             // 章节4:家庭时间(如果还有的话)            家庭时间处理();

             // 系统维护            发量检测();            健康检测();

      END_WHILE;END_METHOD;

核心功能模块

现场调试的痛苦

// 现场调试函数块 - 永远在解决问题FUNCTION_BLOCK Site_DebuggingVAR      设备异常 : BOOL;  // 设备是否异常      客户催促 : BOOL;  // 客户是否在催      信号不稳定 : BOOL;  // 薛定谔的信号      解决方案 : STRING[100];  // 临时解决方案库END_VARMETHOD StartDebugging : BOOLVAR      尝试次数 : INT :=  0;      成功 : BOOL := FALSE;BEGIN      REPEAT            尝试次数 := 尝试次数 +  1;

             // 经典调试场景            CASE 尝试次数 OF                   1:                           // 重启大法                        IF 重启设备() THEN                              成功 := 检查信号();                        END_IF;

                   2..10:                         // 检查线路                        IF 检查线路() AND 检查接线() THEN                              成功 := 重新上电();                        END_IF;

                   11..20:                         // 开始怀疑人生                        IF 更换模块() OR 修改程序() THEN                              成功 := 测试运行();                        END_IF;

                  ELSE                         // 终极奥义:叫厂家                        成功 := 呼叫技术支持();            END_CASE;

             // 每尝试一次,喝一杯咖啡            咖啡摄入量 := 咖啡摄入量 +  50.0;

             // 客户每10分钟催一次            IF 尝试次数 MOD  10  =  0  THEN                  客户催促 := TRUE;                  压力值增加();            END_IF;

      UNTIL 成功 OR (尝试次数 >=  100)      END_REPEAT;

      RETURN 成功;END_METHOD
1.webp

家庭关系维护

//  家庭关系处理函数块FUNCTION_BLOCK Family_RelationshipVAR      上次回家时间 :  DATE;      答应陪老婆次数 :  INT;      实际完成次数 :  INT;      道歉词库 :  ARRAY[1..10]  OF  STRING[50];END_VARMETHOD  HandleWifeAnger : BOOLVAR      当前时间 :  DATE;      离家天数 :  INT;      礼物等级 :  INT;BEGIN      当前时间 :=  DATE();      离家天数 :=  当前时间  -  上次回家时间;

       CASE  老婆怒气值  OF             0..10:                     //  正常状态                   RETURN  TRUE;

             11..30:                   //  警告状态                  IF 买花()  OR  发红包()  THEN                        老婆怒气值 :=  老婆怒气值  -  5;                  END_IF;

             31..50:                   //  危险状态                  IF 承诺休假()  AND  买礼物(3)  THEN                        老婆怒气值 :=  老婆怒气值  -  10;                  END_IF;

             51..70:                   //  高危状态                  IF 立即回家()  AND  买贵重礼物()  THEN                        老婆怒气值 :=  老婆怒气值  -  15;                  END_IF;

             ELSE                   //  毁灭状态  -  准备写检讨                   RETURN  写万字检讨();      END_CASE;

       RETURN  TRUE;END_METHOD

出差管理模块

// 出差管理函数块FUNCTION_BLOCK Business_TripVAR      今年出差天数 : INT :=  0;      住过的酒店 : ARRAY[1..100] OF STRING[30];      积分的航空公司 : ARRAY[1..5] OF STRING[20];      想念家里床的次数 : INT;END_VARMETHOD StartTrip : BOOLVAR      目的地 : STRING[30];      预计天数 : INT;      实际天数 : INT;BEGIN       // 更新统计      今年出差天数 := 今年出差天数 + 预计天数;

       // 经典出差场景      目的地 := 获取目的地();      预计天数 := 获取预计天数();      实际天数 := 预计天数 *  2;  // 经典乘以2

       // 打包行李      打包行李(实际天数);

       // 通知家人      IF NOT 通知家人(实际天数) THEN            老婆怒气值 := 老婆怒气值 +  20;      END_IF;

       // 开始出差循环      WHILE 实际天数 >  0  DO             // 每天例行            住酒店();            吃外卖();            调试设备();            写报告();            想念家里床的次数 := 想念家里床的次数 +  1;

            实际天数 := 实际天数 -  1;      END_WHILE;

      RETURN TRUE;END_METHOD
2.webp

系统监控与报警

// 工程师健康监测METHOD  Health_Monitoring :  VOIDBEGIN       // 发量监测       IF  头发数量 <  1000  THEN            触发报警("发量危机!考虑转管理岗?");       END_IF;

       // 咖啡因摄入监测       IF  咖啡摄入量 >  1000.0  THEN            触发报警("咖啡因超标!建议改喝枸杞");       END_IF;

       // 家庭关系监测       IF  老婆怒气值 >  80  THEN            触发报警("家庭红色警报!立即回家!");       END_IF;

       // 出差频率监测       IF  今年出差天数 >  200  THEN            触发报警("您已达到航空公司金卡级别!");       END_IF;END_METHOD;
3.webp

中断服务程序

// 紧急情况中断处理INTERRUPT HANDLER Emergency_HandlerVAR      紧急程度 : INT;BEGIN       // 客户现场紧急呼叫      IF 客户来电() THEN            咖啡摄入量 := 咖啡摄入量 +  100.0;            立即响应();      END_IF;

       // 老婆紧急呼叫      IF 老婆来电() AND 当前时间 > T#20H THEN            解释加班原因();            IF 解释失败() THEN                  老婆怒气值 := 老婆怒气值 +  10;            END_IF;      END_IF;

       // 老板紧急呼叫      IF 老板来电() THEN            保证完成任务();            修改时间计划();      END_IF;END_INTERRUPT;
4.webp

程序结束(理论上)

// 程序结束方法(实际上永远不会执行)METHOD  Program_End :  VOIDBEGIN       // 以下情况程序会结束:       // 1. 退休       // 2. 转行       // 3. 世界末日

       IF  退休成功()  OR  转行成功()  THEN            输出信息("恭喜获得自由!");       ELSE             // 否则继续循环             MainProgram();       END_IF;END_METHOD;

结语

电气工程师的日常就是:
  永远在路上  - 不是在现场,就是在去现场的路上
  咖啡当水喝  - 调试靠咖啡因,改程序靠茶多酚
  电话接不停  - 客户、老板、家人的三重奏
  程序改不完  - 最后的修改永远是"最后一次修改"
  发量日渐少  - 用头发换技术,用青春换经验
但是...
每当看到设备正常运行,

每当解决一个棘手问题,

每当项目成功交付...
那份成就感,就是支撑我们继续前行的动力!
谨以此程序,献给所有奋斗在一线的电气工程师!

---

温馨提示:程序虽然是虚构的,但头发是真的会掉!注意劳逸结合,多陪家人,适量咖啡!

点赞、在看、转发→保佑你下次调试一次通过!
【 看完别滑走!需要你的支持!】
这篇干货文章花了大量时间整理,如果对你有帮助或启发,请一定:
  「评论区」  留下你的想法

  遇到了类似问题?有更好的方法?期待你分享见解!
  「转发」  给更多需要的人

  也许你身边的朋友,正被同样的问题困扰!
  「收藏」  随时回看复习

  知识点需要反复消化,码住不迷路!
每一次互动都是我们继续创作优质内容的动力!

感谢有你,一起进步!

---

推荐阅读:
分享让更多人看看
点赞
收藏
分享

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码