← 全部文章 运维踩坑

工控机通电自动开机,并自动启动软件

2022 年 6 月 16 日 · 2 分钟读完

目录
  1. 一、来电自动开机(BIOS)
  2. 二、Windows 自动登录
  3. 三、软件开机自启
  4. 方法一:启动文件夹
  5. 方法二:任务计划程序
  6. 延伸

设备现场希望一合闸,工控机就自己开机,并自动打开上位机软件,不用人去按电源键、点图标。需要三步:来电自动开机、Windows 自动登录、软件自动启动。

一、来电自动开机(BIOS)

以研华工控机为例:

  1. 开机时按 Del 进 BIOS;
  2. 右移到 Chipset;
  3. 选择 PCH-IO Configuration,回车;
  4. 下移到 Restore AC Power Loss(有的叫 State After G3),回车;
  5. 选择 Power On(或 S0 State),回车;
  6. 按 F4 保存并退出(有的主板是 F10)。

其他品牌的 BIOS 位置不同,找带有 AC Power Loss、AC Back、Power On After Power Failure 字样的选项,设成 Power On / Always On 即可。

设置后,断电再来电时会自动开机。要测试的话,关机后拔掉电源再插上。

二、Windows 自动登录

软件放在「启动」文件夹里,要等用户登录后才会启动。如果系统设了密码,开机会停在登录界面,所以要让 Windows 自动登录:

  1. Win + R 输入 netplwiz 回车;
  2. 取消勾选「要使用本计算机,用户必须输入用户名和密码」,确定,输入一次密码。

Win10 / 11 上找不到这个勾选框时,先到 设置 → 账户 → 登录选项,关闭「为了提高安全性,仅允许对此设备上的 Microsoft 帐户使用 Windows Hello 登录」。

三、软件开机自启

方法一:启动文件夹

  1. Win + R 打开运行窗口:

  1. 输入 shell:startup 回车,打开当前用户的启动文件夹:

  1. 把软件的快捷方式放进去(快捷方式不能是隐藏的):

  1. 重启测试。

shell:common startup 打开的是所有用户共用的启动文件夹。

方法二:任务计划程序

启动文件夹有两个问题:软件需要管理员权限时,每次开机都会弹 UAC 确认框;启动太早,网卡、相机驱动还没就绪。用任务计划程序可以解决:

  1. 开始菜单搜「任务计划程序」→ 创建任务;
  2. 常规:勾选使用最高权限运行;
  3. 触发器:新建 → 开始任务选「登录时」,在「高级设置」里勾选延迟任务时间,比如 30 秒;
  4. 操作:启动程序,选软件的 exe,「起始于」填 exe 所在的目录(不填的话程序里用相对路径读配置文件会找不到);
  5. 条件:取消「只有在计算机使用交流电源时才启动此任务」。

延伸

  • 软件里用相对路径的坑:开机自启时,进程的当前目录不一定是 exe 所在目录(快捷方式的「起始位置」、任务计划的「起始于」决定),用 Environment.CurrentDirectory 拼路径会出错。程序里应该用 AppDomain.CurrentDomain.BaseDirectory 或 Application.StartupPath。
  • 防止重复启动:自启加上操作员手动双击,可能开出两个实例,抢串口、抢相机。见 WinForm 小坑合集 里的「只允许运行一个实例」。
  • 崩溃后自动重启:任务计划里「设置」页可以配「如果任务失败,按以下频率重新启动」;更可靠的是写一个小的守护程序,检测主程序进程不在了就拉起来。
  • 关闭自动更新和休眠:现场工控机最好关掉 Windows 自动更新重启、屏幕保护和睡眠,否则可能在生产中突然重启。
  • 远程维护:见 远程桌面免密码登录。

# Windows # 工控

原文首发于 blog.csdn.net