دروس تعليمية

مساعد الذكاء الاصطناعي: أدوات MCP لـ TIA Portal

اسمح لوكلاء الذكاء الاصطناعي برؤية مشروعك ومعرفة متغيراتك والتحكم في PLC الخاص بك — من خلال 31 أداة مصممة خصيصاً.

T
فريق T-IA Connect
15 دقيقة قراءة
تم التحديث في 11 مارس 2026

لماذا يغيّر MCP كل شيء

يعاني مساعدو الذكاء الاصطناعي التقليديون (ChatGPT وCopilot) من مشكلة كبيرة في الأتمتة الصناعية: الهلوسة السياقية. فهم يولّدون كود SCL صحيحاً نحوياً، لكنهم يستخدمون متغيرات غير موجودة وأنواع بيانات خاطئة ويتجاهلون تكوين الأجهزة الخاص بك. مع خادم MCP المدمج في T-IA Connect، يمكن للذكاء الاصطناعي رؤية مشروعك وقراءة جداول المتغيرات وفحص الكتل الموجودة — وإنشاء أو تعديل الكود فعلياً في TIA Portal.

المتطلبات الأساسية

  • T-IA Connect مثبّت وقيد التشغيل
  • مشروع TIA Portal مفتوح (V16–V21)
  • عميل ذكاء اصطناعي متوافق مع MCP (Claude Desktop أو أي عميل MCP)

الإعداد: ربط الذكاء الاصطناعي بـ TIA Portal

أضف T-IA Connect كخادم MCP في ملف تكوين Claude Desktop (claude_desktop_config.json):

claude_desktop_config.json
{
  "mcpServers": {
    "tia-connect": {
      "command": "C:\\Program Files\\FeelAutomCorp\\TiaConnect\\TiaPortalApi.McpBridge.exe",
      "args": [],
      "env": {
        "TIA_CONNECT_URL": "http://localhost:9000",
        "TIA_CONNECT_API_KEY": "your-api-key"
      }
    }
  }
}

يعمل McpBridge.exe كجسر stdio-to-HTTP. يقوم بتوجيه طلبات الذكاء الاصطناعي إلى خادم API الخاص بـ T-IA Connect الذي يتواصل مع TIA Portal عبر Openness.

مثال 1: التحقق من حالة المشروع

أبسط أداة — تحقق من الاتصال بـ TIA Portal وانظر أي مشروع مفتوح.

MCP Tool: get_project_status
{
  "name": "get_project_status",
  "arguments": {}
}
Response
{
  "connected": true,
  "projectName": "WaterTreatment_V19",
  "projectPath": "C:\TIA_Projects\WaterTreatment_V19",
  "tiaVersion": "V19",
  "modified": false
}

مثال 2: فتح مشروع

افتح ملف مشروع TIA Portal مباشرة من الذكاء الاصطناعي. يمكنك أيضاً البحث عن المشاريع المتاحة على القرص باستخدام list_project_files.

MCP Tool: open_project
{
  "name": "open_project",
  "arguments": {
    "path": "C:\TIA_Projects\WaterTreatment_V19\WaterTreatment_V19.ap19"
  }
}
Response
{
  "success": true,
  "projectName": "WaterTreatment_V19",
  "version": "V19"
}

مثال 3: عرض الأجهزة

عرض جميع أجهزة PLC وHMI والأجهزة الأخرى في المشروع الحالي.

MCP Tool: list_devices
{
  "name": "list_devices",
  "arguments": {}
}
Response
[
  {
    "name": "PLC_1",
    "type": "CPU 1516-3 PN/DP",
    "category": "PLC"
  },
  {
    "name": "HMI_1",
    "type": "TP1500 Comfort",
    "category": "HMI"
  }
]

مثال 4: عرض وقراءة الكتل

تصفح جميع الكتل (FB وFC وDB وOB) في PLC، ثم اقرأ الكود الكامل وواجهة أي كتلة.

MCP Tool: list_blocks → get_block_details
// Step 1: List all blocks
{ "name": "list_blocks", "arguments": { "deviceName": "PLC_1" } }

// Step 2: Read a specific block
{ "name": "get_block_details", "arguments": {
    "deviceName": "PLC_1",
    "blockName": "FB_MotorControl"
  }
}
Response
// list_blocks response
[
  { "name": "Main [OB1]", "type": "OB", "language": "LAD", "number": 1 },
  { "name": "FB_MotorControl", "type": "FB", "language": "SCL", "number": 1 },
  { "name": "DB_Config", "type": "DB", "language": "DB", "number": 1 }
]

// get_block_details response
{
  "name": "FB_MotorControl",
  "type": "FB",
  "language": "SCL",
  "interface": {
    "input": [
      { "name": "Start", "type": "Bool" },
      { "name": "Stop", "type": "Bool" },
      { "name": "SpeedSetpoint", "type": "Real" }
    ],
    "output": [
      { "name": "Running", "type": "Bool" },
      { "name": "Speed", "type": "Real" }
    ]
  },
  "code": "#Running := #Start AND NOT #Stop;\nIF #Running THEN\n  #Speed := #SpeedSetpoint;\nEND_IF;"
}

مثال 5: إنشاء كتلة SCL

الأداة الأقوى — إنشاء كتلة وظيفية بكود SCL ومتغيرات محددة الأنواع وتعريف واجهة كامل. يمكن للذكاء الاصطناعي توليد هذا الكود من وصف بلغة طبيعية لمتطلباتك.

MCP Tool: create_scl_block
{
  "name": "create_scl_block",
  "arguments": {
    "deviceName": "PLC_1",
    "blockName": "FB_ValveControl",
    "blockType": "FB",
    "interface": {
      "input": [
        { "name": "Open", "type": "Bool" },
        { "name": "Close", "type": "Bool" },
        { "name": "Timeout", "type": "Time", "defaultValue": "T#5s" }
      ],
      "output": [
        { "name": "IsOpen", "type": "Bool" },
        { "name": "IsClosed", "type": "Bool" },
        { "name": "Error", "type": "Bool" }
      ]
    },
    "sclCode": "IF #Open AND NOT #Close THEN\n  #IsOpen := TRUE;\n  #IsClosed := FALSE;\nELSIF #Close THEN\n  #IsOpen := FALSE;\n  #IsClosed := TRUE;\nEND_IF;"
  }
}
Response
{
  "name": "FB_ValveControl",
  "type": "FB",
  "number": 2,
  "created": true
}

مثال 6: إدارة المتغيرات

عرض جداول المتغيرات وتصفح المتغيرات وإنشاء متغيرات جديدة بعناوين وأنواع بيانات صحيحة.

MCP Tools: list_tags → create_tag
// List existing tags
{ "name": "list_tags", "arguments": {
    "deviceName": "PLC_1",
    "tableName": "Motors"
  }
}

// Create a new tag
{ "name": "create_tag", "arguments": {
    "deviceName": "PLC_1",
    "tableName": "Motors",
    "name": "Motor2_Start",
    "dataType": "Bool",
    "logicalAddress": "%I0.2"
  }
}
Response
// list_tags response
[
  { "name": "Motor1_Start", "dataType": "Bool", "address": "%I0.0" },
  { "name": "Motor1_Stop", "dataType": "Bool", "address": "%I0.1" },
  { "name": "Motor1_Running", "dataType": "Bool", "address": "%Q0.0" }
]

// create_tag response
{
  "name": "Motor2_Start",
  "dataType": "Bool",
  "address": "%I0.2",
  "created": true
}

مثال 7: التجميع

تشغيل تجميع الجهاز للتحقق من صحة الكود المُولّد. يتم إرجاع الأخطاء والتحذيرات ليتمكن الذكاء الاصطناعي من إصلاح المشاكل تلقائياً.

MCP Tool: compile_device
{
  "name": "compile_device",
  "arguments": { "deviceName": "PLC_1" }
}
Response
{
  "success": true,
  "errors": [],
  "warnings": [
    "FB_ValveControl: Variable 'Timeout' declared but not used"
  ],
  "warningCount": 1,
  "errorCount": 0
}

مثال 8: البحث في كتالوج الأجهزة

البحث في كتالوج أجهزة Siemens وإضافة أجهزة إلى مشروعك — كل ذلك باللغة الطبيعية.

MCP Tools: search_hardware_catalog → add_device
// Search the catalog
{ "name": "search_hardware_catalog", "arguments": {
    "query": "CPU 1511"
  }
}

// Add the device
{ "name": "add_device", "arguments": {
    "deviceName": "PLC_2",
    "typeIdentifier": "OrderNumber:6ES7 511-1AK02-0AB0/V2.9"
  }
}
Response
// search_hardware_catalog response
[
  {
    "name": "CPU 1511C-1 PN",
    "typeIdentifier": "OrderNumber:6ES7 511-1CK01-0AB0/V2.9",
    "version": "V2.9"
  },
  {
    "name": "CPU 1511-1 PN",
    "typeIdentifier": "OrderNumber:6ES7 511-1AK02-0AB0/V2.9",
    "version": "V2.9"
  }
]

// add_device response
{
  "name": "PLC_2",
  "type": "CPU 1511-1 PN",
  "added": true
}

مثال 9: شاشات HMI

عرض وإنشاء وفحص شاشات WinCC HMI. استرجاع تصميم XML الكامل للتحليل.

MCP Tools: list_hmi_screens → create_hmi_screen
// List screens
{ "name": "list_hmi_screens", "arguments": {
    "deviceName": "HMI_1"
  }
}

// Create a new screen
{ "name": "create_hmi_screen", "arguments": {
    "deviceName": "HMI_1",
    "screenName": "MotorOverview"
  }
}
Response
// list_hmi_screens response
[
  { "name": "MainScreen", "type": "Screen" },
  { "name": "AlarmView", "type": "Screen" }
]

// create_hmi_screen response
{
  "name": "MotorOverview",
  "created": true
}

مثال 10: الحفظ والأرشفة والإغلاق

إدارة دورة حياة المشروع الكاملة — حفظ عملك وإنشاء نسخ أرشيفية والإغلاق بشكل نظيف.

MCP Tools: save → archive → close
{ "name": "save_project", "arguments": {} }

{ "name": "archive_project", "arguments": {
    "targetDirectory": "C:\TIA_Backups",
    "archiveName": "WaterTreatment_backup_2026-03-11"
  }
}

{ "name": "close_project", "arguments": {} }
Response
{ "saved": true }

{
  "archivePath": "C:\TIA_Backups\WaterTreatment_backup_2026-03-11.zap19",
  "size": "45.2 MB",
  "created": true
}

{ "closed": true }

مرجع الأدوات الكامل (31 أداة)

إليك القائمة الكاملة لأدوات MCP المتاحة في T-IA Connect، مصنفة حسب الفئة.

إدارة المشاريع

ToolDescriptionParameters
get_project_statusGet current project status
list_project_filesScan disk for TIA projectspath?
open_projectOpen a .ap* project filepath
create_projectCreate an empty TIA projectpath, name
close_projectClose the active project
save_projectSave the current project
archive_projectCreate a .zap backuptargetDirectory, archiveName
retrieve_projectRestore from .zap backuparchivePath, targetDirectory

الأجهزة والشبكات

ToolDescriptionParameters
list_devicesList all devices (PLC, HMI)
search_hardware_catalogSearch Siemens hardware catalogquery
add_deviceAdd a device to the projectdeviceName, typeIdentifier
delete_deviceRemove a devicedeviceName
rename_deviceRename a devicecurrentName, newName
configure_networkSet IP / subnet / gatewaydeviceName, ipAddress, subnetMask, gateway

البرمجة

ToolDescriptionParameters
list_blocksList all blocks (FB, FC, DB, OB)deviceName
get_block_detailsRead block interface and codedeviceName, blockName
create_scl_blockCreate SCL block with interfacedeviceName, blockName, sclCode, blockType, interface
delete_blockDelete a blockdeviceName, blockName
rename_blockRename a blockdeviceName, currentName, newName
compile_deviceCompile device codedeviceName

HMI (WinCC)

ToolDescriptionParameters
list_hmi_screensList WinCC screensdeviceName
create_hmi_screenCreate an HMI screendeviceName, screenName
delete_hmi_screenDelete an HMI screendeviceName, screenName
get_hmi_screen_xmlGet screen XML designdeviceName, screenName

البيانات والمتغيرات

ToolDescriptionParameters
list_tag_tablesList tag tablesdeviceName
create_tag_tableCreate a tag tabledeviceName, tableName
delete_tag_tableDelete a tag tabledeviceName, tableName
list_tagsList variables in a tabledeviceName, tableName
create_tagCreate a variable (I, Q, M)deviceName, tableName, name, dataType, logicalAddress
delete_tagDelete a variabledeviceName, tableName, tagName

تشخيص النظام

ToolDescriptionParameters
get_server_diagnosticsAPI & TIA Portal health check

إضافي: أدوات FDS (مواصفات التصميم)

يتضمن T-IA Connect أيضاً 5 أدوات MCP إضافية لوحدة FDS (مواصفات التصميم الوظيفي). راجع الدرس المخصص للتفاصيل.

دليل توليد كود SCL من CSV

الذكاء الاصطناعي + PLC = مستقبل الهندسة

مع 31 أداة MCP، يصبح مساعد الذكاء الاصطناعي شريكاً هندسياً حقيقياً — يقرأ مشروعك ويفهم أجهزتك ويكتب كوداً يُجمّع فعلاً. لا مزيد من المتغيرات الوهمية أو توليد الكود الأعمى.

ابدأ مع T-IA Connect وحوّل سير عملك في TIA Portal.