AI小西
热门搜索
1847工业学习平台3TF退市声明V90 EPOS控制功能及常见问题3RT1(95A以下)产品退市声明选型3RW常见问题目录

签到有奖

  • 移动端入口

  • 工业服务小程序
  • 支持中心移动端首页
  • AI小西-AI智能问答助手
  • SIEMENS工业找答案小程序
  • 工业培训与认证
  • 西门子工业1847俱乐部
  • SIEMENS工业技术支持与服务
@CurrentUser.EmailCount@

消息提醒

登录 | 注册
@CurrentUser.NickName@
1847会员:未开通
VIP等级 @CurrentUser.vipLevel@
西币
@CurrentUser.coin@
  • 我的支持中心
  • 我的1847会员
  • 我的技术论坛
  • 我的找答案
  • 我的下载中心
  • 我的售后服务
  • 我的培训认证
  • 我发的帖子
  • 我跟的帖子
  • 我的论坛设置
  • 论坛用户指南
  • 我的下载中心
  • 我的培训认证
  • 我的提问
  • 我的回答
  • 已经帮助了@CurrentUser.allAnswercount@人我要回答
  • 已连续活跃@CurrentUser.allLoginDayCount@天我要提问
  • 首次回答问题获得双倍西币积分
  • 个人设置
  • 退出
  • 技术支持

    技术支持

    • 技术支持
    • AI小西
    • 风驰卡
    ×
  • 售后服务

    售后服务

    • 售后服务
    • 我要报修
    • 服务进度查询
    • 质保及权益查询
    • ASP工程师验证
    • ASP公司证书验证
    • 全球服务指南
    • 售后服务常见问题
    • 备件与增值服务
    • 标准备件采购
    • DCMA变频器健康管家
    • 风驰卡
    • 百数达
    • 孔明策
    • 西服无忧
    • SIMACAS@智维宝
    ×
  • 下载中心

    下载中心

    • 下载中心首页
    • 下载中心精选主题
    • 常见问题大全
    ×
  • 学习与培训

    学习与培训

    • 工业学习平台
    • 1847工业学习平台
    • 课程中心
    • 学习路线
    • 培训认证平台
    • 培训认证首页
    • 取证训练营
    • 教室培训
    ×
  • 找答案

    找答案

    • 找答案首页
    • 已解决问题
    • 精华常见问题
    • 发布新问题
    ×
  • 技术论坛

    技术论坛

    • 技术论坛首页
    • 最新发帖
    • 精华帖
    • 发新帖
    ×
  • 精选主题new

    精选主题

    • 产品主题
    • 产品入门
    • 产品技术专题
    • SMART系列产品
    • WinCC官方网站
    • WinCC Unified 技术主页
    • SIMATIC S7-1200 技术主页
    • 应用主题
    • 自动化标准机型应用中心
    • 运动控制专区
    • 自动化大会精选
    • 自动化工程师训练营
    ×

官方商城-正品备件

DIOMIS

技术论坛首页 最新发帖 精华帖 发新帖
登录注册
  • 西门子中国
  • 支持与服务门户网站
    我的支持中心
    下载中心首页
    全球技术资源
    1847工业学习平台
    产品入门新手必读
    找答案
    技术论坛
    售后服务
    网络资源新手必读
    高级搜索
  • 技术论坛
    论坛公告
    论坛使用指南
    最新发帖
    精华帖
    分享帖
    高赞帖
    热门帖
    高端推荐帖
    最高收藏帖
  • 谈天说地 / 新产品探秘
  • Eigen Engineering Agent的试用感受

技术论坛

 • 产品分类
自动化系统
  • SIMATIC S7-1500系列 
  • SIMATIC S7-1200系列 
  • SIMATIC S7-200
  • SIMATIC S7-200 SMART 
  • SIMATIC S7-300/400 
  • 通信与网络组件
  • Profinet技术开发专区
  • 工业边缘计算
  • SIMATIC WinCC / Panel 
  • SIMATIC WinCC OA (原PVSS)
  • DCS/SIMATIC PCS7
  • IPC/PG
  • LOGO!
  • 物联网(IOT)
  • 工业电源
驱动技术
  • SINAMICS 
  • SINAMICS S200 
  • 直流调速器
  • 电机
  • SIMOTION
  • MicroMaster
  • 驱动技术综合产品
  • MasterDrives 
  • DCMA 变频器健康管家 维护智库
数控系统
  • SINUMERIK 
  • SIMODRIVE
低压电气
  • 低压电气
  • 低压数字化
传感器与通讯
  • 过程仪表
  • 分析仪器
  • 工厂传感器
谈天说地
  • 谈天说地
  • 新产品探秘 
 • 咱工程师的故事
咱工程师的故事
  • 网友专栏 
  • 工程师随笔
1847大咖专栏
  • 崔工谈博途与PLC
  • PROFINET工业通信详解
  • 冯工聊工业网络
  • 电磁兼容问题及处理
  • 大咖专栏合集
特别专题
  • 专家大讲堂课后探讨
  • 西门子工业1847俱乐部
  • 特别专题合集
 • 培训与认证答疑专区
培训与认证答疑专区
  • PLC编程精英训练营
  • MA 小型自动化系统
  • WinCC系统开发工程师精英训练营
  • V90精英训练营
  • WinCC精英训练营
  • S7-1200精英训练营
  • G120变频器精英训练营
  • S7-200SMART精英训练营
 • 服务合作伙伴专区
服务合作伙伴专区
  • FA合作伙伴共创社区
  • Networks and Communication
  • GMC蓝黄带考试-G120
  • GMC蓝黄带考试-V90
  • GMC 合作伙伴专区

Eigen Engineering Agent的试用感受

海上漂2

西门子1847工业学习平台

  • 帖子

    2214
  • 精华

    0
  • 被关注

    42

论坛等级:奇侠

注册时间:2020-04-09

钻石 钻石 如何晋级?

Eigen Engineering Agent的试用感受

337

0

2026-07-06 16:12:30

感谢西门子公司提供的Eigen Engineering Agent的试用机会。

Agent的注册账号与西门子账号不一样,需要另外注册,其账号的安全性更高,需要以手机号的验证码登录。

每个账户的Token是1000个,每提一个问题会消耗一个Token。

 文件上传功能没有使用过。

其基本操作页面跟其他的AI工具类似:


出现基本的对话框,以及聊天的历史记录

Agent设计之初是可以直接将功能块导入到项目中,不用另外添加。


可能使用的是公司电脑,公司可能对电脑做了某些限制。根据网上查询的解决办法逐一检查设置,检查了所有的权限,。也可能是电脑中安装了多个版本的TIA导致的。最后Agent还是不能直接将功能块添加到项目中。


最后根据提示,手动复制到项目中,复制的程序不能完整使用,会报错。需要手动调整,但是尽管如此,还是节约了很多工作量。期待Agent的持续优化。


以下是Agent生成的程序,感兴趣的可以复制到PLC中测试,就能发现其中的问题。

FUNCTION_BLOCK "FB_ScaleComm_OhausLD224"  

{ S7_Optimized_Access := 'TRUE' }  

AUTHOR : 'Eigen'  

VERSION : 0.1  

// 电子称通讯功能块 - 奥豪斯LD224 + 艾莫迅RS232转TCP模块  

// 通讯协议: TCP客户端 -> 艾莫迅模块 -> RS232 -> 电子称  

  

VAR_INPUT  

    xConnect     : Bool;  // 1: 建立连接, 0: 断开连接  

    sIPAddress   : String[15] := '192.168.1.100';  // 艾莫迅模块IP地址  

    iPort        : Int    := 5000;  // 艾莫迅模块端口  

    xReadWeight  : Bool;  // 读取重量  

    xTare        : Bool;  // 去皮  

    xZero        : Bool;  // 校零  

    xTimerReset  : Bool;  // 复位定时器  

END_VAR  

  

VAR_OUTPUT  

    xConnected   : Bool;  // 已连接  

    xConnecting  : Bool;  // 连接中  

    xError       : Bool;  // 错误  

    wErrorID     : Word   := 0;  

    rWeight      : Real   := 0.0;  // 当前重量  

    xStable      : Bool   := FALSE;  

    xOverLoad    : Bool   := FALSE;  

    xUnderLoad   : Bool   := FALSE;  

    xReceiving   : Bool;  

    iRecLen      : Int    := 0;  

END_VAR  

  

VAR  

    instTCON     : TCON;  

    instTDISCON  : TDISCON;  

    instTSEND_C  : TSEND_C;  

    instTRCV_C   : TRCV_C;  

    instTimer    : TON;  

    tconParams   : TCON_PARAMS;  

    arrSendData  : Array[0..19] of Byte;  

    arrRecvData  : Array[0..99] of Byte;  

    iState       : Int     := 0;  

    bSendReq     : Bool    := FALSE;  

    bRecvEnable  : Bool    := FALSE;  

    sSendCommand : String[10];  

    sRecvString  : String[100];  

    sWeightStr   : String[20];  

    iPos         : Int;  

    iPos2        : Int;  

    bDataValid   : Bool;  

    rTempWeight  : Real;  

END_VAR  

  

VAR_CONSTANT  

    cState_Idle      : Int := 0;  

    cState_Connect   : Int := 1;  

    cState_Connected : Int := 2;  

    cState_SendCmd   : Int := 3;  

    cState_Receive   : Int := 4;  

    cState_Disconnect: Int := 5;  

    cState_Error     : Int := 99;  

    cTimeoutMs       : Time := T#5S;  

    cConnID          : Word := 16#0001;  

END_VAR  

  

BEGIN  

    #xConnecting := FALSE;  

    #xReceiving := FALSE;  

      

    #instTimer(IN  := NOT #xTimerReset AND (#iState <> cState_Connected),  

               PT  := #cTimeoutMs,  

               Q   => #,  

               ET  => #);  

      

    CASE #iState OF  

        cState_Idle:  

            #xConnected := FALSE;  

            #xError := FALSE;  

            IF #xConnect THEN  

                #tconParams.interfaceId := 16#FFFF;  

                #tconParams.id := #cConnID;  

                #tconParams.connectionType := 16#11;  

                #tconParams.activeEstablished := TRUE;  

                #tconParams.remotePort := UINT_TO_WORD(#iPort);  

                #tconParams.localPort := 0;  

                #tconParams.remoteAddr[0] := 16#C0;  

                #tconParams.remoteAddr[1] := 16#A8;  

                #tconParams.remoteAddr[2] := 16#01;  

                #tconParams.remoteAddr[3] := 16#64;  

                #iState := cState_Connect;  

                #xConnecting := TRUE;  

            END_IF;  

              

        cState_Connect:  

            #instTCON(REQ := #xConnect, ID := #cConnID, DONE => #,   

                      BUSY => #xConnecting, ERROR => #xError,   

                      STATUS => #wErrorID, CONNECT := #tconParams);  

            IF NOT #xConnecting AND NOT #xError THEN  

                #xConnected := TRUE;  

                #iState := cState_Connected;  

            END_IF;  

            IF #instTimer.Q THEN  

                #xError := TRUE;  

                #wErrorID := 16#0001;  

                #iState := cState_Error;  

            END_IF;  

              

        cState_Connected:  

            #xConnected := TRUE;  

            #xConnecting := FALSE;  

            IF NOT #xConnect THEN  

                #iState := cState_Disconnect;  

            ELSE  

                IF #xReadWeight THEN  

                    #sSendCommand := 'W';  

                    #bSendReq := TRUE;  

                    #iState := cState_SendCmd;  

                ELSIF #xTare THEN  

                    #sSendCommand := 'T';  

                    #bSendReq := TRUE;  

                    #iState := cState_SendCmd;  

                ELSIF #xZero THEN  

                    #sSendCommand := 'Z';  

                    #bSendReq := TRUE;  

                    #iState := cState_SendCmd;  

                END_IF;  

            END_IF;  

              

        cState_SendCmd:  

            #arrSendData[0] := CHAR_TO_BYTE(CHAR_TO_STRING(MID(IN := #sSendCommand, L := 1, P := 1)));  

            #arrSendData[1] := 16#0D;  

            #arrSendData[2] := 16#0A;  

            #instTSEND_C(REQ := #bSendReq, CONT := TRUE, ID := #cConnID, LEN := 3,  

                         DATA := #arrSendData, DONE => #, BUSY => #,   

                         ERROR => #xError, STATUS => #wErrorID);  

            #bSendReq := FALSE;  

            IF NOT #xError THEN  

                #iState := cState_Receive;  

                #bRecvEnable := TRUE;  

            ELSE  

                #iState := cState_Error;  

            END_IF;  

              

        cState_Receive:  

            #xReceiving := TRUE;  

            #instTRCV_C(EN_R := #bRecvEnable, CONT := TRUE, ID := #cConnID,  

                        DATA := #arrRecvData, DONE => #, BUSY => #xReceiving,  

                        ERROR => #xError, STATUS => #wErrorID,   

                        RCVD_LEN => UINT_TO_INT(#iRecLen));  

            IF #instTRCV_C.DONE THEN  

                #sRecvString := Chars_TO_Strg(Chars := #arrRecvData, Cnt := #iRecLen, CHR := 32);  

                bDataValid := FALSE;  

                FOR iPos := 1 TO LEN(#sRecvString) DO  

                    sWeightStr := MID(IN := #sRecvString, L := 1, P := iPos);  

                    IF (sWeightStr = '+') OR (sWeightStr = '-') OR (sWeightStr >= '0' AND sWeightStr <= '9') THEN  

                        iPos2 := FIND(IN1 := #sRecvString, IN2 := ' ');  

                        IF iPos2 = 0 THEN iPos2 := #iRecLen + 1; END_IF;  

                        sWeightStr := MID(IN := #sRecvString, L := iPos2 - iPos, P := iPos);  

                        STRG_VAL(IN := #sWeightStr, FORMAT := W#16#0000, P := 1, OUT => #rTempWeight);  

                        #rWeight := #rTempWeight;  

                        bDataValid := TRUE;  

                        EXIT;  

                    END_IF;  

                END_FOR;  

                IF FIND(IN1 := #sRecvString, IN2 := 'S ') > 0 THEN #xStable := TRUE; ELSE #xStable := FALSE; END_IF;  

                IF FIND(IN1 := #sRecvString, IN2 := 'OL') > 0 THEN #xOverLoad := TRUE; ELSE #xOverLoad := FALSE; END_IF;  

                IF FIND(IN1 := #sRecvString, IN2 := 'UL') > 0 THEN #xUnderLoad := TRUE; ELSE #xUnderLoad := FALSE; END_IF;  

                #iState := cState_Connected;  

            END_IF;  

            IF #instTimer.Q THEN  

                #xError := TRUE;  

                #wErrorID := 16#0002;  

                #iState := cState_Error;  

            END_IF;  

              

        cState_Disconnect:  

            #instTDISCON(REQ := TRUE, ID := #cConnID, DONE => #, BUSY => #,   

                         ERROR => #xError, STATUS => #wErrorID);  

            IF NOT #instTDISCON.BUSY THEN  

                #xConnected := FALSE;  

                #iState := cState_Idle;  

            END_IF;  

              

        cState_Error:  

            #xConnected := FALSE;  

            #instTDISCON(REQ := TRUE, ID := #cConnID, DONE => #, BUSY => #,   

                         ERROR => #, STATUS => #);  

            IF NOT #instTDISCON.BUSY THEN #iState := cState_Idle; END_IF;  

    END_CASE;  

END_FUNCTION_BLOCK  



剩余80%未阅读, 请登录阅读

回帖加入探讨技术论坛守则

上传附件要求

1. 文件大小:上传文件的大小请限制在2M以内。

2. 文件格式:请不要上传.exe文件,系统支持的格式有:
.avi,.wmv,.mp3,.rar,.zip,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.wma,.asf,.txt,.7z

 
发分享帖
爱工控,乐分享,
分享您的经验与案例
发故事
发表您的精彩故事,
参与征文活动
技术探讨帖
阐述您的观点,
表达我的看法
西家杂谈
海侃天南地北,
闲聊工控世界
发求助帖
求道解惑,“刨根问底”
解决问题
发投票帖
邀投票,做调查,
网友帮您来作主
取消原因:
Eigen Engineering Agent的试用感受
编辑推荐: 关闭

请填写推广理由:

活动公告 查看全部公告>

【机械制造/项目型工程】最新软硬件产品与解决方案请您查收!

1,879,008 条
海量精彩技术内容

100,000+ 网友与你交流

助你技有所长,论有所获

热门视频,猜你喜欢

本版热门话题

新产品探秘

共有317条技术帖

更多

评选标准

相关推荐

换一换

热门标签

换一换

相关帖子推荐

换一换
正在加载...
guzhang

恭喜,你发布的帖子

被评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片

下载中心

  • 首页
  • 查找文档
  • 常见问题大全
  • 精选主题
  • 全球技术资源

  • 首页
  • 知识库
  • 订阅文档

1847工业学习平台

  • 首页
  • 了解会员权益
  • 立即开通1847会员
  • 课程中心
  • 学习路线
  • 初级工程师认证
  • 高级工程师认证

培训与认证

  • 首页
  • 教室培训课
  • 取证训练营
  • 在线自学课
  • 认证证书查询
  • 培训伙伴验证

技术论坛

  • 首页
  • 发帖
  • 最新发帖
  • 精华帖
  • 高赞贴
  • 当前热门帖
  • 高端推荐帖
  • 用户荣誉榜

找答案

  • 首页
  • 提问
  • 精华问答
  • 高赞问答
  • 新解决问题
  • 待解决问题
  • 总积分排行榜

售后服务

  • 我要报修
  • 服务进度查询
  • 质保及权益查询
  • 备件商城
  • ASP工程师验证
  • ASP公司证书验证
  • 支持中心网站重要声明

西门子中国   © 西门子(中国)有限公司 1996 – 2026   企业信息    隐私政策   使用条款   京ICP备06054295号   京公网安备 11010502040638号
 
支持中心新发布“关注”功能了!实时查看彼此动态,更方便地进行技术交流。
不管是“关注”与“被关注”,相信都是一个美好的开始!
还有多重奖励派送,快快行动起来吧!

20秒帮我们优化支持中心!

欢迎您访问支持中心!

丰富的视频,全方位的文档,大量的网友交流精华……

为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!

感谢您的支持!

您收到0封站内信:
×
×
参与「找答案」每周问答福利,提问或回答即可全民瓜分3000西币奖池,发1条也能分西币!用心解答更有机会单篇直发66西币,上不封顶。每周还有快答侠、夺魁答侠等专属称号与丰厚奖励等你来拿!西币可兑换实物奖品,随手互动免费领福利。
立即
签到
已签到
已签到0天
累计可抽西币次数:0次抽奖机会
累计可抽惊喜实物奖次数:0次抽奖机会
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。