首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AI时代电气工程师必须要安装Claude Code!含免费API配置流程!

AI时代电气工程师必须要安装Claude Code!含免费API配置流程!

作者头像
Hello工控
发布2026-04-01 17:47:29
发布2026-04-01 17:47:29
1640
举报
文章被收录于专栏:Hello工控Hello工控

我们这期介绍下Claude Code的安装和使用过程,是时候用上顶级的编程大模型了。

之前我也介绍过OpenCode,OpenCode的安装详细说明(Win系统版本)之所以先介绍Opencode是因为首先不用魔法直接就用,关键还有好几个免费的模型可以使用!

但是用了这么长时间来看,有几个地方一直不爽的是,对话的当前历史老是看不到,不管是CLI里面还是VS Code里,都翻不到。另外就是,有些模型图片添加不进去。在CLI里面想复制一段文字是真麻烦。所以,经过一段时间,我自己就用的少了。有时候还不如:Kilo Code帮我做ST语言里面For循环的动画演示!

01

选出您的AI

我这使用Claude Code时候,有三个问题真的问到我了,所以我这里直接贴到这里,还请大家参与投票哦!投票完成后留言【已投】获取免费的API配置指南。

02

感受

我稍微的了解了下,因为目前使用的是免费的API以及刚开始,没有任何的skill安装。所以,比较初步。

同样,也让claude code 写段ST代码:

这里面也挺曲折的,免费的就是可能用的人多,老会报错,继续就可以解决,但是确实烦人。

但是,优点就是和你交互,问你哪个场合用,是经典PID、还是Adv PID,等等每一步问的细,这样就容易一次性生成你想要的,而不是生成完了后再微调。

最后把这个生成的代码贴这里:

代码语言:javascript
复制
FUNCTION_BLOCK FB_PID_Basic
VAR_INPUT
    Setpoint      : REAL;    // Target value (°C)
    ProcessValue  : REAL;    // Measured value (°C)
    ManualOutput  : REAL;    // Manual control output (0-100%)
    ModeSelect    : BOOL;    // TRUE = Automatic, FALSE = Manual
    Kp            : REAL;    // Proportional gain
    Ki            : REAL;    // Integral gain (per second)
    Kd            : REAL;    // Derivative gain (seconds)
    OutMin        : REAL;    // Minimum output limit (%)
    OutMax        : REAL;    // Maximum output limit (%)
    SampleTime    : TIME;    // Control loop sample time
    Deadband      : REAL;    // Deadband around setpoint (°C)
END_VAR
VAR_OUTPUT
    ControllerOutput : REAL;    // PID output to actuator (0-100%)
    ModeStatus       : BOOL;    // Current mode (TRUE = Auto, FALSE = Manual)
    IntegralWindup   : BOOL;    // TRUE if integral term is clamped
    Error            : REAL;    // Current error (SP - PV)
END_VAR
VAR
    IntegralTerm    : REAL := 0.0;
    PrevError       : REAL := 0.0;
    LastOutput      : REAL := 0.0;
    TimeElapsed     : TIME := T#0s;
    FirstRun        : BOOL := TRUE;
END_VAR
// Initialize on first call or parameter change
IF FirstRun OR (SampleTime <> TimeElapsed) THEN
    IntegralTerm := 0.0;
    PrevError    := Setpoint - ProcessValue;
    LastOutput   := 0.0;
    TimeElapsed  := SampleTime;
    FirstRun     := FALSE;
END_IF;
// Calculate time factor for gains
TimeFactor := SampleTime / T#1s;
// Calculate error
Error := Setpoint - ProcessValue;
// Apply deadband
IF ABS(Error) < Deadband THEN
    Error := 0.0;
END_IF;
// Mode handling
IF ModeSelect THEN
    // Automatic mode - PID calculation
    ModeStatus := TRUE;
    // Proportional term
    PTerm := Kp * Error;
    // Integral term with anti-windup
    IntegralTerm := IntegralTerm + Ki * Error * TimeFactor;
    // Clamp integral term to prevent windup
    IF IntegralTerm > (OutMax - Kp * Error) THEN
        IntegralTerm := OutMax - Kp * Error;
        IntegralWindup := TRUE;
    ELSIF IntegralTerm < (OutMin - Kp * Error) THEN
        IntegralTerm := OutMin - Kp * Error;
        IntegralWindup := TRUE;
    ELSE
        IntegralWindup := FALSE;
    END_IF;
    // Derivative term
    IF SampleTime > T#0s THEN
        DTerm := Kd * (Error - PrevError) / TimeFactor;
    ELSE
        DTerm := 0.0;
    END_IF;
    // Calculate raw output
    RawOutput := PTerm + IntegralTerm + DTerm;
    // Apply output limits
    IF RawOutput > OutMax THEN
        ControllerOutput := OutMax;
    ELSIF RawOutput < OutMin THEN
        ControllerOutput := OutMin;
    ELSE
        ControllerOutput := RawOutput;
    END_IF;
    // Store for next derivative calculation
    PrevError := Error;
ELSE
    // Manual mode - direct output
    ModeStatus := FALSE;
    ControllerOutput := ManualOutput;
    IntegralTerm := 0.0;    // Reset integral to prevent windup
    PrevError    := Error;  // Keep derivative continuous
    IntegralWindup := FALSE;
END_IF;
END_FUNCTION_BLOCK
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hello工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档