Professional Documents
Culture Documents
http://hassanheha.forumn.net
-فالعمليات التي تتطلب حجما أكبر من bitواحدة تتم على ما يسمى Accumulatorحيث أنه يوجد لكل وحدة
معالجة وحدتي Accumulatorعلى األقل ويرمز بهما بالرموز ACCU1و ACCU2وفي بعض األنواع من
المعالجات يوجد عدد 4وحدات Accumulatorوتأخذ الرموز ACCU1و ACCU2و ACCU3و ACCU4
تتم عليها العمليات التي تتطلب حجم بيانات أكبر من ، bitوحجم وحدة Accumulatorهو 32-bits
)Accumulator(32-bit
)High Word (W-H )Low Word (W-L
)High Byte (H-H )Low Byte (H-L) High Byte (L-H) Low Byte (L-L
15 51 51 0
ويتكون Accumulatorمن عدد 2-WORDوعدد 4-BYTEفعند التعامل مع BYTEيتم تحميل البيانات في
البايت L-Lوفي حالة التعامل مع WORDيتم التعامل مع W-Lأما في حالة التعامل فيتم التعامل مع DWORD
ويخضع شكل البيانات في Accumulatorلنفس صيغ البيانات التي تحدثنا عليها من قبل سواء كانت صحيحة
INTأو صحيحة مضاعفة DINTأو حقيقية REALأو غير ذلك من البيانات مثل S5Tأو DATEأو TIME
-أما على مستوى البيانات التي تحتل خانة واحدة فهناك مجموعة كبيرة من الخانات يصل عددها إلى 9خانات
يجمعها معا ما يسمى STATUS Registerويطلق عليها STATUS Bitsحيث كل واحدة منها تتغير طبقا
للعمليات المختلفة لكنها تعطي انطباعا منطقيا عن حالة تنفيذ العمليات وهذه الخانات STATUS Bitsهي:
RLO oنتيجة العمليات المنطقية Result of Logic Operationsحيث يتم فيها تخزين نتيجة آخر عملية
منطقية وتتم عليها العمليات المنطقية أيضا.
OV oزيادة في قيمة البيانات Overflowوتقوم بمراقبة حدوث تجاوز في القيمة الرقمية لحدود التخزين
عند تنفيذ العمليات الحسابية ويتم تصفيرها بمجرد البدء في عملية جديدة
OS oزيادة في قيمة البيانات مع تخزين الحالة Stored Overflowوتقوم بنفس عمل OVتماما غير
أنها تحتفظ بالحالة " "1ويتم تصفيرها عن طريق أوامر برمجة
CC0,CC1 oوتستخدم في عمليات كثيرة منها المقارنة وحسب حالة االثنين معا يتم تحديد نتيجة المقارنة ،
كذلك في الحسابات الحقيقية والصحيحة تعطي انطباعا عن النتيجة وتستخدم في عمليات
Shift/Rotateحيث تدخل في بعض العمليات كجزء من مكان التخزين
STA oووتستخدم إلظهار حالة المتغير الثنائي المستخدم حاليا في العملية وهذا غير RLOوالتي تعكس
النتيجة للعمليات المنطقية
/FC oيستخدم لتحديد بداية الحسابات المنطقية في كل مرة تبدأ فيها مجموعة من العمليات وتقوم العمليات
بتغيير قيمة /FCبما يتناسب مع طبيعة العملية فمثال Andتقوم بتغيير /FCإلى " "1قبل التنفيذ بينما
العملية Orتقوم بتغيير /FCإلى الحالة ""0
OR oتستخدم لتخزين النتائج الوسيطة عند عمل عمليات ANDقبل أن يتم عليها تنفيذ عملية ORحيث
يتم فيها تخزين نتيجة العمليات ANDاألخيرة
BR oأو نتيجة ثنائية Binary Resultحيث تستخدم عند االنتقال من بلوك آلخر
وسوف نتحدث عن الطرق الثالث للبرمجة معا إن شاء هللا ونبدأ معا بأول نوع من العمليات وهو العمليات المنطقية
RLO وتخزين النتيجة فيRLO لها مع قيمةORing < وعملAddress> بقراءة قيمة المتغيرOR تقوم العملية
NOT Operation
الصيغة العامة الصيغة العامة الصيغة العامة
NOT
Example:
O I10.3
O M3.7 <Address> I,Q,M,L,T,C,DB
O T11 Example Example:
NOT
"0" " إلى1" " والعكس من1" " إلى0" منRLO بتغيير حالةNOT تقوم العملية
And-NOT Operation
الصيغة العامة الصيغة العامة الصيغة العامة
AN <Address>
<Address> I,Q,M,L,T,C,DB
Example:
AN I10.3
<Address-i> I,Q,M,L,T,C,DB
AN M3.7 <Address> I,Q,M,L,T,C,DB
AN T11 Example:
Example:
AN DB30.DBX2.7
AN C2
AN L0.3
AN Q12.4
وتخزينRLO لها مع قيمةANDing له ثمNOT < وعملAddress> بقراءة قيمة المتغيرAND-NOT تقوم العملية
RLO النتيجة في
OR-NOT Operation
الصيغة العامة الصيغة العامة الصيغة العامة
ON <Address>
<Address> I,Q,M,L,T,C,DB
Example:
ON I10.3
ON M3.7 <Address> I,Q,M,L,T,C,DB
Example
ON T11 Example:
ON DB30.DBX2.7
ON C2
ON L0.3
ON Q12.4
وتخزين النتيجةRLO لها مع قيمةORing له ثمNOT < وعملAddress> بقراءة قيمة المتغيرOR-NOT تقوم العملية
RLO في
ASSIGN Operation
الصيغة العامة الصيغة العامة الصيغة العامة
= <Address>
<Address> I,Q,M,L,DB
Example:
A I10.3 <Address> I,Q,M,L,DB <Address> I,Q,M,L,DB
A M3.7 Example Example:
A DB30.DBX2.7
= L0.3
= Q12.4
Example:
X I10.3 <Address-i> I,Q,M,L,DB,C,T <Address-i> I,Q,M,L,DB,C,T
X M3.7 Example:
= Q12.4 Example
RLO < وكتابة النتيجة فيAddress> بين المدخالتXORing " بحساب نتيجةXOR" تقوم العملية
XOR-NOT Operation
الصيغة العامة الصيغة العامة الصيغة العامة
XN <Address1>
XN <Address2>
<Address-i> I,Q,M,L,DB,C,T
RLO " بتحويل حالةRESET" < بينما تقوم العمليةAddress> " ونقلها إلى1" إلىRLO " بتحويل حالةSET" تقوم العملية
<Address> " ونقلها إلى0" إلى
Set Before Reset Operations
الصيغة العامة الصيغة العامة الصيغة العامة
>S <Address
>R <Address
<Address> I,Q,M,L,DB
<Address> I,Q,M,L,DB <Address> I,Q,M,L,DB
Example:
Example Example:
A I10.3
S Q12.4
A I10.4
R Q12.4
تقوم العملية SRإما بتحويل الحالة إلى " "0أو إلى " "1مع االستمرار وفي حالة تواجد الشرطين R,Sمعا تكون النتيجة
" "0وال تكون الحالة " "1إال إذا كان Sحالته " "1و Rحالته ""0
Reset Before Set Operations
الصيغة العامة الصيغة العامة الصيغة العامة
>R <Address
>S <Address
<Address> I,Q,M,L,DB
تقوم العملية RSإما بتحويل الحالة إلى " "0أو إلى " "1مع االستمرار وفي حالة تواجد الشرطين R,Sمعا تكون النتيجة
" "1و تكون الحالة " "1إذا كان Sحالته " "1مهما كانت حالة R
Positive edge Operation
الصيغة العامة الصيغة العامة الصيغة العامة
>A <Address1
>Fp <Address2
<Address1> I,Q,M,L,DB,C,T
<Address2> I,Q,M,L,DB <Address1> I,Q,M,L,DB,C,T <Address1> I,Q,M,L,DB,C,T
<Address2>I,Q,M,L,DB <Address2>I,Q,M,L,DB
Example: Example Example:
A M10.2
Fp M10.3
= M12.4
تقوم العملية Fpبقراءة التحول من " "0إلى " "1على المتغير > <Address1وإخراج نبضة في حالة التغير إلى RLO
مع االحتفاظ بالقيمة القديمة قبل التغيير في ><Address2
Negative edge Operation
الصيغة العامة الصيغة العامة الصيغة العامة
A <Address1>
Fn <Address2>
<Address1> I,Q,M,L,DB,C,T
<Address2> I,Q,M,L,DB <Address1> I,Q,M,L,DB,C,T <Address1> I,Q,M,L,DB,C,T
<Address2>I,Q,M,L,DB <Address2>I,Q,M,L,DB
Example: Example Example:
A M10.2
Fn M10.3
= M12.4
RLO < وإخراج نبضة في حالة التغير إلىAddress1> " على المتغير0" " إلى1" بقراءة التحول منFn تقوم العملية
<Address2> مع االحتفاظ بالقيمة القديمة قبل التغيير في
Mid-ASSIGN Operation
الصيغة العامة الصيغة العامة الصيغة العامة
= <Address>
A <Address>
<Address> I,Q,M,L,DB
Example: <Address> I,Q,M,L,DB <Address> I,Q,M,L,DB
A I10.3 Example Example:
A M3.7
A DB30.DBX2.7
= L0.3
= Q12.4
< مع االحتفاظ بها واستخدامها في العمليات التاليةAddress> (" بتخزين ناتج العمليات قبلها في# (" تقوم العملية
وتستخدم في العمليات المرحلية
POS Operation
الصيغة العامة الصيغة العامة الصيغة العامة
Same as Fp Operation
<Address1> I,Q,M,L,DB,C,T
<Address1> I,Q,M,L,DB,C,T <Address2> I,Q,M,L,DB
<Address2> I,Q,M,L,DB Example:
Example
RLO فيPulse " وإخراج نبضة1" " إلى0" < منAddress1> " بمراقبة التغير في حالةPOS " تقوم العملية
<Address2> واالحتفاظ بالحالة في
NEG Operation
الصيغة العامة الصيغة العامة الصيغة العامة
Same as Fp Operation
<Address1> I,Q,M,L,DB,C,T
<Address1> I,Q,M,L,DB,C,T
<Address2> I,Q,M,L,DB
<Address2> I,Q,M,L,DB
Example:
Example
تقوم العملية " "NEGبمراقبة التغير في حالة > <Address1من " "1إلى " "0وإخراج نبضة Pulseفي RLOواالحتفاظ
بالحالة في ><Address2
Nesting XOR Operation
الصيغة العامة الصيغة العامة الصيغة العامة
(X
>X <Address1 العملية غير موجودة ويتم تمثيلها
>X <Address2 بالعمليات األساسية
)
(X
>X <Address3
>X <Address4 <Address-i> I,Q,M,L,DB,C,T
)
Example Example:
(X
X I 1.2
X I 1.3
)
(X
X M 10.2
X M 10.5
)
= M 20.1
تقوم العملية "( "Xبتنفيذ عمليات XORالمتداخلة من الداخل إلى الخارج حيث يتم تنفيذ داخل األقواس أوال ويجب مراعاة
توزيع األقواس
SAVE Operation
الصيغة العامة الصيغة العامة الصيغة العامة
SAVE العملية غير موجودة
Example
SAVE
تقوم العملية " "SAVEبتخزين حالة RLOفي خانة BR
الحظ أنه يمكن التحويل بين الثالث طرق للبرمجة لو التزمنا بالطريقة المثالية للكتابة ولكن هناك بعض العمليات الغير
متاحة في كل من LADأو FBDويتم تكوينها باستخدام STLمع العلم بأنه يمكن كتابة كل شئ باستخدام STL
والعمليات الفعلية التي نستخدمها في دوائر التحكم مزيج من العمليات السابقة وليست بسيطة بالشكل الذي عرضناه فهي
تحتوي على خليط من كل األشكال مثل الشكل التالي والذي يمثل صورة فعلية من أحد البرامج