|
منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
|
أدوات الموضوع | انواع عرض الموضوع |
|
2011-03-22, 18:23 | رقم المشاركة : 1 | ||||
|
langage C
من فظلكم عندي مجموعة برامج بلغة c ولم افهم منها شيء فمن هو متخصص بهذه اللغة ارجو ان يفيدني... /************************************************** **************************
* This program initialise generate the common alarms for the Gas Alarm Systems * * | ALW_ON +--------------+ * +----| |------| CALL GCMNALM |-- * | | (EXTERNAL) | * | +--------------+ * * %R3000 No. of Horners RTU Module (Max=6) * %R3001 Loop 1 - MSByte= Chassis, LSByte=Slot * %R3002 Loop 1 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R3003 Loop 2 - MSByte= Chassis, LSByte=Slot * %R3004 Loop 2 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R3005 Loop 3 - MSByte= Chassis, LSByte=Slot * %R3006 Loop 3 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R3007 Loop 4 - MSByte= Chassis, LSByte=Slot * %R3008 Loop 4 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R3009 Loop 5 - MSByte= Chassis, LSByte=Slot * %R3010 Loop 5 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R3011 Loop 6 - MSByte= Chassis, LSByte=Slot * %R3012 Loop 6 - Last Addr Installed Devices (Start MODBUS Address = Node 2) * %R199 - Common Alarm Reg * bit 0 - Gas Alarm High * bit 1 - Gas Alarm High High * bit 2 - Gas Fault * * %R201 - Gas Detector Reading Node 1 * %R202 - Gas Detector Reading Node 2 * ... * ************************************************** ****************************/ #include "plcc9030.h" EXE_stack_size = 2048; #define CFG_REG 3000 // Start of Configuratio Registers #define NO_LOOP (CFG_REG+0) // No of Active Loops #define NO_GD (CFG_REG+2) // No of Gas Detectors in Loop #define GD_CMNALM 199 // Common Alarm Register #define PLC_FLTREG 200 #define GD_REG 201 // %R201 Starting of GD Registers #define GD_MAXADR 32 // Maximum Addr = 32 GD in loop #define GD_LOOPMAX 6 // Maximum of 6 Loops void main(void) { word i,j, LastAdr, GasH, GasHH, GasF; GasHH = 0; for (i=0; i<RW(NO_LOOP); i++) { LastAdr = RW(NO_GD+i*2); for (j=2; j<=LastAdr; j++) { if (RI((j-1) + GD_REG + i*GD_MAXADR)>= -13108) { // 50% GasHH = 1; break; } } if (GasHH) break; } if (GasHH) RW(GD_CMNALM) |= 0x0002; else RW(GD_CMNALM) &= 0xfffd; GasH=0; for (i=0; i<RW(NO_LOOP); i++) { LastAdr = RW(NO_GD+i*2); for (j=2; j<=LastAdr; j++) { if ((RI((j-1) + GD_REG + i*GD_MAXADR)>= -23594) && // 10% (RI((j-1) + GD_REG + i*GD_MAXADR)< -13108) ) {// 50% GasH = 1; break; } } if (GasH) break; } if (GasH) RW(GD_CMNALM) |= 0x0001; else RW(GD_CMNALM) &= 0xfffe; GasF=0; for (i=0; i<RW(NO_LOOP); i++) { LastAdr = RW(NO_GD+i*2); for (j=2; j<=LastAdr; j++) { if (RI((j-1) + GD_REG + i*GD_MAXADR) < -30278) { // Cal & Fault GasF = 1; break; } } if (GasF) break; } if (RW((PLC_FLTREG)) !=0) GasF=1; if (GasF) RW(GD_CMNALM) |= 0x0004; else RW(GD_CMNALM) &= 0xfffb; }
|
||||
2011-03-23, 15:21 | رقم المشاركة : 2 | |||
|
20 مشاهدة ولا يوجد رد واحد...... أين المقيمين على هذا القسم |
|||
2011-03-26, 19:18 | رقم المشاركة : 3 | |||
|
|
|||
2011-07-16, 16:03 | رقم المشاركة : 4 | |||
|
ya akhi had le progremme c copmliqué j'ai rien compris |
|||
2011-07-16, 16:15 | رقم المشاركة : 5 | |||
|
هذا البرنامج يستعمل لتوليد الإنذارات مشتركة للغاز (نظام انذار)
إذا كنت مبتدأ فعليك بالبرامج البيسطة (إذا كنت تريد مساعدة فانا جاهز ) |
|||
الكلمات الدلالية (Tags) |
langage |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc