sudanee رقيب
عدد الرسائل : 22 العمر : 45 تاريخ التسجيل : 31/01/2011
| موضوع: مساعدة في تحديد زمن معين بإستخدام CFC الإثنين 4 فبراير 2013 - 2:34 | |
| | |
|
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: مساعدة في تحديد زمن معين بإستخدام CFC الإثنين 4 فبراير 2013 - 2:58 | |
| أما بخصوص التوصيل بين خرج الدالة الأولى التي قمت باستخدامها والدالة الثانية والرسالة التي تظهر لك فيمكنك استخدام عنوان ذاكرة وسيط أو Local memory وأظن هو المطلوب حيث يكون هو خرج الأولى ودخل الثانية بدلا من التوصيل المباشر
_________________ أبـوروان | |
|
sudanee رقيب
عدد الرسائل : 22 العمر : 45 تاريخ التسجيل : 31/01/2011
| موضوع: رد: مساعدة في تحديد زمن معين بإستخدام CFC الإثنين 4 فبراير 2013 - 3:20 | |
| الأخ العزيز PLCMan
شكرا جزيلا وجزاك الله خير
في حالة إستخدام الـ OB وفي حالة تنزيل البرنامج هلي يؤدي لتوقيف الـ CPU لأن المصنع شغال حاليا لأن التعديل علي Hardware
بالنسبة للـ Shared Addresse قمت بتحميل الخرج في DB ومن ثم توصيله للدخل لكن لم ينجح
تحياتي | |
|
sudanee رقيب
عدد الرسائل : 22 العمر : 45 تاريخ التسجيل : 31/01/2011
| موضوع: رد: مساعدة في تحديد زمن معين بإستخدام CFC الخميس 21 مارس 2013 - 13:21 | |
|
السلام عليكم هذه دالة مفيدة جدا تقوم بقراءة التاريخ والزمن من الCPU ثم تحويلهم إلي Integer
بعد ذلك يمكننا عمل مقارنات للحصول علي النتيجه المطلوبة
هذا كود الدالة STL فقط كومبايل وسوف تجدون دالة FB333 - الكود:
-
// This block reads the system time of the CPU with SFC1 // It is provided to a output wich can be used by // operator monitoring and control system // This block uses symbolic programming, which does not use direct access to // local data areas.
FUNCTION_BLOCK FB 333
TITLE =
{ S7_m_c := 'true' }
NAME : SYSCLOCK AUTHOR : UNKNOWN FAMILY : USER VERSION : 0.1
VAR_OUTPUT Year { S7_m_c := 'true' }: INT ; Month { S7_m_c := 'true' }: INT ; Day { S7_m_c := 'true' }: INT ; Hour { S7_m_c := 'true' }: INT ; Minutes { S7_m_c := 'true' }: INT ; Seconds { S7_m_c := 'true' }: INT ; Milliseconds { S7_m_c := 'true' }: INT ; Day_of_week { S7_m_c := 'true' }: INT ; END_VAR
VAR_TEMP Datum_Zeit : DATE_AND_TIME ; Ret_Val_SFC : INT ; END_VAR
BEGIN NETWORK TITLE =FunctionCall
CALL "READ_CLK" (RET_VAL:= #Ret_Val_SFC, CDT:= #Datum_Zeit); //Call of SFC1 L P#Datum_Zeit; LAR1; L LB[AR1,P#0.0]; // LB 0 contains the year BTI ; // BTI converts BCD to INT T #Year; // transfer to output Year
L LB[AR1,P#1.0]; // LB 1 contains month BTI ; T #Month;
L LB[AR1,P#2.0]; // LB 2 contains day BTI ; T #Day;
L LB[AR1,P#3.0]; // LB 3 contains hour BTI ; T #Hour;
L LB[AR1,P#4.0]; // LB 4 contains minutes BTI ; T #Minutes;
L LB[AR1,P#5.0]; // LB 5 contains seconds BTI ; T #Seconds;
L LB[AR1,P#6.0]; // LB 6 + LB 7 (4 Bits high) contains Milliseconds SRW 4; BTI ; T #Milliseconds;
L LB[AR1,P#7.0]; // LB 7 (4 Bits low) contains day of week SLW 12; SRW 12; BTI ; T #Day_of_week;
END_FUNCTION_BLOCK
الدالة من موقع سيمنز وليس لي تحياتي
| |
|
ibrahimabugabal نقيب
عدد الرسائل : 160 العمر : 50 تاريخ التسجيل : 15/04/2011
| موضوع: رد: مساعدة في تحديد زمن معين بإستخدام CFC الجمعة 22 مارس 2013 - 1:22 | |
| لو حد عنده وقت يا ريت يقول أزاي الواحد يضيف ساعة في شاشة win cc | |
|