गणितीय कार्य
गणना और एल्गोरिदम
साधारण जोड़ से लेकर जटिल समीकरणों तक, गणितीय कार्य आपके कच्चे डेटा को आपकी प्रक्रियाओं को नियंत्रित करने के लिए उपयोगी जानकारी में बदल देते हैं।
TIA पोर्टल में गणितीय कार्य क्या हैं?
TIA पोर्टल में गणितीय कार्य आपको विभिन्न डेटा प्रकारों (Integers, Reals) पर अंकगणितीय, त्रिकोणमितीय और लघुगणक गणना करने की अनुमति देते हैं। वे सेंसर स्केलिंग, प्रक्षेपवक्र गणना, या PID लूप नियंत्रण के लिए आवश्यक हैं।
TIA पोर्टल CALCULATE निर्देश के साथ विशिष्ट है, जो आपको एक ही ब्लॉक में एक जटिल अभिव्यक्ति (जैसे: (in1 + in2) * in3 / in4) लिखने की अनुमति देता है, जिससे अलग-अलग ADD/MUL बॉक्स की श्रृंखला की तुलना में पठनीयता में सुधार होता है।
बुनियादी अंकगणित
डेटा प्रोसेसिंग के लिए मौलिक संचालन
CALCULATE — गणना करें
CALCयह क्या करता है
कई इनपुट (IN1...INn) के संयोजन वाली एक मुक्त गणितीय अभिव्यक्ति को परिभाषित करने की अनुमति देता है। आप सूत्र दर्ज करते हैं, और TIA पोर्टल संबंधित पिन उत्पन्न करता है।
इसका उपयोग कब करें
जैसे ही किसी गणना के लिए दो से अधिक चरणों की आवश्यकता हो। प्रवाह, आयतन गणना, या किसी भी जटिल भौतिक सूत्र के लिए आदर्श।
प्रो टिप्स
आप CALCULATE अभिव्यक्ति के भीतर सीधे ABS, SQRT, या SIN जैसे कार्यों का उपयोग कर सकते हैं।
ओवरफ्लो से बचने के लिए हमेशा आउटपुट डेटा प्रकार (OUT) की जांच करें।
SCL में, यह सीधे असाइनमेंट का प्राकृतिक समकक्ष है: out := (in1 + in2) * in3;
ADD / SUB / MUL / DIV
+ये क्या करते हैं
मानक अंकगणितीय निर्देश: जोड़, घटाव, गुणा और भाग।
इनका उपयोग कब करें
दो मानों के बीच सरल और तेज़ संचालन के लिए।
प्रो टिप्स
भाग (DIV) में, हमेशा |OK| परीक्षण का उपयोग करें या जांचें कि भाजक शून्य नहीं है ताकि CPU बंद होने से बचा जा सके।
ADD निर्देश ब्लॉक पर पीले आइकन पर क्लिक करके दो से अधिक इनपुट स्वीकार कर सकता है।
पूर्णांकों के लिए, DIV पूर्णांक भागफल लौटाता है। शेषफल के लिए MOD का उपयोग करें।
MOD — मोड्युलो
MODयह क्या करता है
IN1 और IN2 के बीच पूर्णांक विभाजन का शेषफल लौटाता है।
इसका उपयोग कब करें
रिंग बफर प्रबंधन, वैकल्पिक चक्र (जैसे, पंप 1 और 2), या इकाई रूपांतरण (जैसे, सेकंड से मिनट/सेकंड)।
प्रो टिप्स
हर 'N' चक्रों में किसी क्रिया को ट्रिगर करने के लिए बहुत उपयोगी।
केवल पूर्णांक डेटा प्रकारों (Int, DInt, आदि) के लिए उपलब्ध।
SCL: remainder := value1 MOD value2;
चिह्न और वृद्धि
चिह्न प्रबंधन और तेज़ इकाई संचालन
INC / DEC — वृद्धि / कमी
++यह क्या करता है
निर्दिष्ट वेरिएबल (InOut में) में 1 जोड़ता है या घटाता है।
इसका उपयोग कब करें
साधारण पार्ट काउंटर, लूप इंडेक्स, कतार प्रबंधन।
प्रो टिप्स
पूर्ण ADD या SUB ब्लॉक की तुलना में लिखने में तेज़।
डेटा प्रकार का ध्यान रखें: 32767 पर Int पर वृद्धि -32768 पर वापस आ जाएगी।
SCL में: i := i + 1; या INC(i);
ABS — पूर्ण मान
ABSयह क्या करता है
किसी संख्या का धनात्मक मान लौटाता है, चाहे वह शुरू में धनात्मक हो या ऋणात्मक।
इसका उपयोग कब करें
माप और सेटपॉइंट के बीच विचलन की गणना, दूरी माप, PID त्रुटि गणना।
प्रो टिप्स
पूर्ण त्रुटि (|setpoint - measurement|) की गणना के लिए आवश्यक।
पूर्णांक और वास्तविक दोनों का समर्थन करता है।
SCL: positiveVal := ABS(originalVal);
Min / Max / सीमा
मान चयन और बाउंडिंग
MIN / MAX — न्यूनतम / अधिकतम
MINयह क्या करता है
N मानों की तुलना करता है और सबसे छोटा (MIN) या सबसे बड़ा (MAX) लौटाता।
इसका उपयोग कब करें
कई सेंसरों में से उच्चतम तापमान का चयन करना, न्यूनतम अनुमत गति का निर्धारण करना।
प्रो टिप्स
आप ब्लॉक में आवश्यकतानुसार कितने भी इनपुट जोड़ सकते हैं।
मल्टी-सेंसर डायग्नोस्टिक्स के लिए बहुत उपयोगी।
SCL: peakValue := MAX(val1, val2, val3);
LIMIT — सीमा निर्धारित करें
LIMITयह क्या करता है
एक इनपुट मान (IN) को न्यूनतम (MN) और अधिकतम (MX) के बीच सीमित (clamp) करता है।
इसका उपयोग कब करें
एनालॉग आउटपुट पर सुरक्षा (जैसे: किसी वाल्व को 80% से अधिक खुलने से रोकना), उपयोगकर्ता सेटपॉइंट को सीमित करना।
प्रो टिप्स
MIN और MAX के संयोजन को लाभप्रद रूप से बदलता है।
यदि MN > MX है, तो आउटपुट CPU प्रकार पर निर्भर करता है, लेकिन आमतौर पर MX लिया जाता है।
SCL: safeVal := LIMIT(MN:=0.0, IN:=rawVal, MX:=100.0);
घात और मूल
घातांकीय और मूल गणना
SQRT / SQR / EXPT
SQRTये क्या करते हैं
SQRT (वर्गमूल), SQR (वर्ग), EXPT (कस्टम घात)।
इनका उपयोग कब करें
ज्यामिति गणना, गैर-रेखीय सिग्नल रूपांतरण, द्रव भौतिकी।
प्रो टिप्स
ऋणात्मक संख्या का SQRT, NaN देता है। हमेशा इनपुट का परीक्षण करें या ABS का उपयोग करें।
EXPT CPU-गहन है, साधारण वर्ग के लिए SQR का उपयोग करें।
SCL: area := 3.14 * SQR(radius);
त्रिकोणमिति
कोण और रोटेशन गणना
SIN / COS / TAN / ASIN...
SINये क्या करते हैं
मानक त्रिकोणमितीय गणना और उनके विलोम (arcsin, arccos, arctan)। कोण हमेशा RADIANS में होते हैं।
इनका उपयोग कब करें
रोबोट किनेमैटिक्स, कोणीय स्थिति गणना, दोलन सिग्नल प्रोसेसिंग।
प्रो टिप्स
डिग्री को रेडियन में बदलने के लिए: Radians = Degrees * (PI / 180).
TAN(PI/2) अनंत की ओर जाता है, अपने इनपुट की निगरानी करें।
सटीकता सुनिश्चित करने के लिए PI के लिए सिस्टम स्थिरांक का उपयोग करें।
उन्नत कार्य
लघुगणक और भिन्नात्मक भाग
LN / EXP / FRAC
LNये क्या करते हैं
LN (प्राकृतिक लघुगणक), EXP (घातांकीय e^x), FRAC (दशमलव भाग निकालता है)।
इनका उपयोग कब करें
रासायनिक प्रक्रिया मॉडलिंग, घातांकीय वृद्धि, या इकाइयों का पृथक्करण (FRAC)।
प्रो टिप्स
FRAC(12.34) 0.34 लौटाता है। समय सटीकता गणना के लिए बहुत सुविधाजनक।
EXP, LN का सटीक विलोम है।
SCL: fraction := FRAC(totalValue);
गणना दृष्टिकोणों की तुलना
LAD बनाम SCL — कौन सी विधि चुनें?
| गणना प्रकार | अनुशंसित विधि | क्यों? |
|---|---|---|
| सरल जोड़ | ADD ब्लॉक (LAD) | दृश्य और पालन करने में आसान |
| जटिल सूत्र | CALCULATE ब्लॉक | कॉम्पैक्ट और नेटवर्क की संख्या कम करता है |
| गणितीय एल्गोरिदम | SCL भाषा | C/Pascal के करीब सिंटैक्स, सूत्रों के लिए आदर्श |
| त्रिकोणमितीय गणना | SCL या CALCULATE | व्यक्तिगत बॉक्स बहुत बड़े होते हैं |
| सिग्नल बाउंडिंग | LIMIT ब्लॉक | सीमेंस मानक, बहुत मजबूत |
| इंडेक्स रीसेट | INC/DEC निर्देश | लागू करने में बहुत तेज़ |
अक्सर पूछे जाने वाले प्रश्न
कई ADD/MUL ब्लॉक की तुलना में CALCULATE का क्या लाभ है?
CALCULATE प्रोग्राम में घेरे गए स्थान को काफी कम कर देता है। मध्यवर्ती अस्थायी चरों के साथ 5 नेटवर्क के बजाय, आपके पास एक पठनीय सूत्र के साथ एक ही ब्लॉक होता है। यदि सूत्र बदलता है तो इसे बनाए रखना भी आसान है।
TIA पोर्टल गणना त्रुटियों (जैसे, शून्य से विभाजन) को कैसे संभालता है?
S7-1200/1500 पर, गणितीय त्रुटि जरूरी नहीं कि CPU को रोक दे (कॉन्फ़िगरेशन के आधार पर), लेकिन परिणाम NaN हो जाता है। परिणाम का उपयोग करने से पहले उसे सत्यापित करने के लिए एक संवेदनशील गणना के बाद |OK| निर्देश का उपयोग करना महत्वपूर्ण है।
क्या त्रिकोणमितीय कार्य डिग्री या रेडियन का उपयोग करते हैं?
सभी कार्य (SIN, COS, TAN, आदि) विशेष रूप से RADIANS का उपयोग करते हैं। यदि आपका HMI डिग्री प्रदान करता है, तो आपको ब्लॉक में डालने से पहले मान को 0.01745329 (PI/180) से गुणा करना होगा।
क्या मैं 64 बिट्स (LReal) पर गणना कर सकता हूँ?
हाँ, S7-1500 बढ़ी हुई सटीकता के लिए मूल रूप से LReal (Long Real) प्रकार का समर्थन करते हैं। अधिकांश गणितीय कार्य इस प्रकार को स्वीकार करते हैं।