اطلاعیه‌های انجمن: ليست SFB,SFC,FB,FC ها
System Functions شامل تعدادی از توابع SFC و SFB است که برای مقاصد مختلف، در برنامه S7-300 یا S7-400 در نظر گرفته شده اند که لیست این توابع در قسمت Standard Library نرم افزار S7 موجود است،البته در Library Standardبه غیر از System Function Blocks بخش دیگری با نام IEC Function Block نیز وجود دارد که در فرصت به هر 2 بخش خواهیم پرداخت. علاوه بر آن هر کاربر می تواند با توجه به نیاز خود توابع (Function) خاصی در محیط نرم افزار S7 ایجاد نماید و آنها را در فایلLibrary خاص دیگری ذخیره نمود تا در مواقع لزوم از آنها استفاده نمود. هر یک از فانکشن های موجود در کتابخانه استاندارد با یک شماره فانکشن معرفی می شود مثلا SFC80 و علاوه برآن هر فانکشن یک نام سمبلیک دارد که نشان دهنده قابلیت آن (بطور خلاصه) است که مثلا نام سمبلیک SFC80 ،RSET است.

تفاوت SFC با SFB
ابتدا لازم است بیان شود که،FC یعنی: System FunctionوSFBیعنی: System Function Block FCها دارای حافظه نمی باشند و مواردی بکار می روند که در آن مقادیر ورودی به FC یا آدرس ورودی به آن در هر جای برنامه تغییر می کند و برای استفاده در جایی مناسب است که در آن از یک FC خاص چندین بار در محل های مختلف برنامه استفاده کنیم که در هر محل، مقادیر ورودی/خروج ها یا آدرس ورودی/خروجی نسبت به محل قبلی تغییر می کند.
SFB عملکردی همانند SFC دارد با این تفاوت که آنها دارای حافظه هستند و برای هر SFB خاص لازم است حافظه ای در نظر گرفته شود که این کار با استفاده از DB (بلوک داده) انجام می شود و در هر بار فراخوانی SFB لازم است DB مربوط به آن نیز فراخوانی گردد تا در آن داده های مربوطه نوشته شده یا خوانده شود و با اتمام عملیات مربوط به SFB آخرین مقادیر ورودی و خروجی مرتبط با آن SFB در آن ذخیره می گردد و در هنگام فراخوانی مجدد آن، با توجه به آخرین وضعیت ورودی/خروجی فعالیت خود را از سر می گیرد. البته بعضی از SFCها برای کنترل DBها بکار می روند که به جزئیات آنها خواهیم پرداخت.
DB ها در 2 نوع می باشند که عبارتند از DB (Data Block) و SDB (System Data Block).در DBها دستورات برنامه نویسی ذخیره نمی شود بلکه در آنها داده های مربوط به SFB (FB) ذخیره می شود.

لیست SFCهای موجود در S7-300/400
95 SFCدر S7-300/400 وجود دارد که نام آنها و خلاصه ای وظیفه آنان در زیر آمده است.

SFC 0 SET_CLK CLK_FUNC Set System Clock
SFC 1 READ_CLK CLK_FUNC Read System Clock
SFC 2 SET_RTM CLK_FUNC Set Run-time Meter
SFC 3 CTRL_RTM CLK_FUNC Start/Stop Run-time Meter
SFC 4 READ_RTM CLK_FUNC Read Run-time Meter
SFC 5 GADR_LGC IO_FUNCT Query Logical Address of a Channel
SFC 6 RD_SINFO DB_FUNCT Read OB Start Information
SFC 7 DP_PRAL DP Trigger a Hardware Interrupt on the DP Master
SFC 9 EN_MSG COM_FUNC Enable Block-Related, Symbol-Related and Group Status Messages
SFC 10 DIS_MSG COM_FUNC Disable Block-Related, Symbol-Related and Group Status Messages
SFC 11 DPSYC_FR DP Synchronize Groups of DP Slaves
SFC 12 D_ACT_DP DP Deactivation and activation of DP slaves
SFC 13 DPNRM_DG DIAGNSTC Read Diagnostic Data of a DP Slave (Slave Diagnostics)
SFC 14 DPRD_DAT DP Read Consistent Data of a Standard DP Slave
SFC 15 DPWR_DAT DP Write Consistent Data to a DP Standard Slave
SFC 17 ALARM_SQ PMC_FUNC Generate Acknowledgeable Block-Related Messages
SFC 18 ALARM_S PMC_FUNC Generate Permanently Acknowledged Block-Related Messages
SFC 19 ALARM_SC PMC_FUNC Query the Acknowledgment Status of the last ALARM_SQ Entering State Message
SFC 20 BLKMOV MOVE Copy Variables
SFC 21 FILL MOVE Initialize a Memory Area
SFC 22 CREAT_DB DB_FUNCT Create Data Block
SFC 23 DEL_DB DB_FUNCT Delete Data Block
SFC 24 TEST_DB DB_FUNCT Test Data Block
SFC 25 COMPRESS DB_FUNCT Compress the User Memory
SFC 26 UPDAT_PI IO_FUNCT Update the Process Image Update Table
SFC 27 UPDAT_PO IO_FUNCT Update the Process Image Output Table
SFC 28 SET_TINT PGM_CNTL Set Time-of-Day Interrupt
SFC 29 CAN_TINT PGM_CNTL Cancel Time-of-Day Interrupt
SFC 30 ACT_TINT PGM_CNTL Activate Time-of-Day Interrupt
SFC 31 QRY_TINT PGM_CNTL Query Time-of-Day Interrupt
SFC 32 SRT_DINT PGM_CNTL Start Time-Delay Interrupt
SFC 33 CAN_DINT PGM_CNTL Cancel Time-Delay Interrupt
SFC 34 QRY_DINT PGM_CNTL Query Time-Delay Interrupt
SFC 35 MP_ALM PGM_CNTL Trigger Multicomputing Interrupt
SFC 36 MSK_FLT DIAGNSTC Mask Synchronous Errors
SFC 37 DMSK_FLT DIAGNSTC Unmask Synchronous Errors
SFC 38 READ_ERR DIAGNSTC Read Error Register
SFC 39 DIS_IRT IRT_FUNC Disable New Interrupts and Asynchronous Errors
SFC 40 EN_IRT IRT_FUNC Enable New Interrupts and Asynchronous Errors
SFC 41 DIS_AIRT IRT_FUNC Delay Higher Priority Interrupts and Asynchronous Errors
SFC 42 EN_AIRT IRT_FUNC Enable Higher Priority Interrupts and Asynchronous Errors
SFC 43 RE_TRIGR PGM_CNTL Re-trigger Cycle Time Monitoring
SFC 44 REPL_VAL DIAGNSTC Transfer Substitute Value to Accumulator 1
SFC 46 STP PGM_CNTL Change the CPU to STOP
SFC 47 WAIT PGM_CNTL Delay Execution of the User Program
SFC 48 SNC_RTCB CLK_FUNC Synchronize Slave Clocks
SFC 49 LGC_GADR IO_FUNCT Query the Module Slot Belonging to a Logical Address
SFC 50 RD_LGADR IO_FUNCT Query all Logical Addresses of a Module
SFC 51 RDSYSST DIAGNSTC Read a System Status List or Partial List
SFC 52 WR_USMSG DIAGNSTC Write a User-Defined Diagnostic Event to the Diagnostic Buffer
SFC 54 RD_PARM IO_FUNCT Read Defined Parameters
SFC 55 WR_PARM IO_FUNCT Write Dynamic Parameters
SFC 56 WR_DPARM IO_FUNCT Write Default Parameters
SFC 57 PARM_MOD IO_FUNCT Assign Parameters to a Module
SFC 58 WR_REC IO_FUNCT Write a Data Record
SFC 59 RD_REC IO_FUNCT Read a Data Record
SFC 60 GD_SND COM_FUNC Send a GD Packet
SFC 61 GD_RCV COM_FUNC Fetch a Received GD Packet
SFC 62 CONTROL COM_FUNC Query the Status of a Connection Belonging to a Communication SFB Instance
SFC 63 AB_CALL PLASTICS Assembly Code Block (only exists for CPU 614)
SFC 64 TIME_TCK CLK_FUNC Read the System Time
SFC 65 X_SEND COM_FUNC Send Data to a Communication Partner outside the Local S7 Station
SFC 66 X_RCV COM_FUNC Receive Data from a Communication Partner outside the Local S7 Station
SFC 67 X_GET COM_FUNC Read Data from a Communication Partner outside the Local S7 Station
SFC 68 X_PUT COM_FUNC Write Data to a Communication Partner outside the Local S7 Station
SFC 69 X_ABORT COM_FUNC Abort an Existing Connection to a Communication Partner outside the Local S7 Station
SFC 70 GEO_LOG IO_FUNCT Determine Start Address of a Module
SFC 71 LOG_GEO IO_FUNCT Determine the Slot Belonging to a Logical Address
SFC 72 I_GET COM_FUNC Read Data from a Communication Partner within the Local S7 Station
SFC 73 I_PUT COM_FUNC Write Data to a Communication Partner within the Local S7 Station
SFC 74 I_ABORT COM_FUNC Abort an Existing Connection to a Communication Partner within the Local S7 Station
SFC 78 OB_RT DIAGNSTC Determine OB program runtime
SFC 79 SET BIT_LOGC Set a Range of Outputs
SFC 80 RSET BIT_LOGC Reset a Range of Outputs
SFC 81 UBLKMOV MOVE Uninterruptible Block Move
SFC 82 CREA_DBL DB_CTRL Create a Data Block in the Load Memory
SFC 83 READ_DBL DB_CTRL Read from a Data Block in Load Memory
SFC 84 WRIT_DBL DB_CTRL Write from a Data Block in Load Memory
SFC 85 CREA_DB DB_FUNCT Create a Data Block
SFC 87 C_DIAG COM_FUNC Diagnosis of the Actual Connection Status
SFC 90 H_CTRL HF_FUNCT Control Operation in H Systems
SFC100 SET_CLKS CLK_FUNC Setting the Time-of-Day and the TOD Status
SFC101 RTM CLK_FUNC Handling runtime meters
SFC102 RD_DPARA IO_FUNCT Redefined Parameters
SFC103 DP_TOPOL DP Identifying the bus topology in a DP master system
SFC104 CIR PGM_CNTL Controlling CiR
SFC105 READ_SI PMC_FUNC Reading Dynamic System Resources
SFC106 DEL_SI PMC_FUNC Deleting Dynamic System Resources
SFC107 ALARM_DQ PMC_FUNC Generating Always Acknowledgeable and Block-Related Messages
SFC108 ALARM_D PMC_FUNC Generating Always Acknowledgeable and Block-Related Messages
SFC112 PN_IN PROFIne2 Update inputs in the user program interface of PROFInet components
SFC113 PN_OUT PROFIne2 Update outputs in the user program interface of PROFInet components
SFC114 PN_DP PROFIne2 Update DP interconnections
SFC126 SYNC_PI IO_FUNCT Update process image partition input table in synchronous cycle
SFC127 SYNC_PO IO_FUNCT Update process image partition output table in synchronous cycle


کاربرد SFCها
SFCها کاربردهای مختلفی در برنامه نویسی سیستم های S7-300 و S7-400 دارد که هر کدام از آنها قبلیت های خاصی دارند که متناسب با نیاز برنامه نویس به کار گرفته می شود.
بطور خلاصه کاربرد هریک از SFC ها را بیان می کنیم.
SFC0: با نام سمبلیک SET_CLK ،که از آن برای ست کردن زمان سنج CPU ،جهت در دست داشتن زمان و تاریخ بکار می رود.
SFC1: با نام سمبلیک READ_CLK است و برای خواندن زمان وتاریخ فعلی CPU استفاده می شود.
SFC2: با نام سمبلیک SET_RTM ، برای ست کردن runtime meter در CPU های خاص بکار می رود.
SFC3: با نام سمبلیک CTRL _RTM ، برای خاموش کردن runtime meter در CPU های خاص بکار می رود.
SFC4: با نام سمبلیک READ _RTM ، برای خواندن runtime meter در CPU های خاص بکار می رود.
SFC5: با نام سمبلیک GADR_LGC ، به منظور تبدیل آدرس جغرافیایی به آدرس منطقی بکار می رود.
SFC6: با نام سمبلیک RD_SINFO ، برای خواندن اطلاعات راه اندازی از OB ها.
SFC7: با نام سمبلیک DP_PRAL ، برای اجرای وقفه سخت افزاری بر روی master DP از طریق برنامه مورد استفاده در Slaveهای هوشمند (مثل ET 200s و بعضی از CPUهایی که می توانند Slave باشند).
SFC9: با نام سمبلیک EN_MSG ، برای فعال سازی بلوک،سمبل ، وضعیت و گروه وضعیت مرتبط با پیامها ست.
SFC10: با نام سمبلیک DIS _MSG ، برای غیر فعال کردن بلوک،سمبل ، وضعیت و گروه وضعیت مرتبط با پیامها ست.
SFC11: با نام سمبلیک DPSYC_FR ، برای همزمان کردن یک یا چند گروه از DP slave ها کاربرد دارد.
SFC12: با نام سمبلیک D_ACT_DP ، برای فعال یا غیر فعال کردن DP slaveها یا IOهای موجود در پروفی نت است.
SFC13: با نام سمبلیک DPNRM_DG ، برای خواندن داده های خطا در DP slaveها کاربرد دارد.
SFC14: با نام سمبلیک DPRD_DAT ، برای خواندن محتوای بایت های بیشتری (بیشتر از 4 بایت) دستورالعمل های load شده مربوط به دسترسی I/O ها است.
SFC15: با نام سمبلیک DPRD_DAT ، برای نوشتن محتوای بایت های بیشتری (بیشتر از 4 بایت) دستورالعمل های load شده مربوط به دسترسی I/O ها است.
SFC17: با نام سمبلیک ALARM_SQ ، جهت ایجاد و فرستادن پیام Alarm کاربرد دارد.
SFC18: با نام سمبلیک ALARM_S ، این تابع نیز همانند تابع SFC 17 برای ایجاد و فرستادن پیام Alarm به کار می رود اما تفاوتی که بین تابع SFC 17 و SFC 18 وجود دارد این است که دوره سیگنال تابع SFC 18 از زمان فراخوانی SFC که در آن SIG مقدار 1 دارد تا زمانی که تابع دیگری فراخوانی شود و SIG برابر با 0 شود ادامه می یابد ،اما در SFC 18 دوره سیگنال تا وقتی است که نمایش پیام خطا بوسیله تجهیز مربوطه تایید شود.
SCF 19: با نام سمبلیک ALARM_SC که با استفاده از آن وضعیت تایید شدن آخرین پیام و همچنین وضعیت سیگنال مربوط به آخرین فراخوانی SFC را بررسی کرد.
SFC 20: با نام سمبلیک BLKMOV که برای کپی کردن محتوای بخشی از حافظه منبع (source area) در بخش دیگر حافظه یعنی آدرس مقصد (destination area) استفاده می شود.
SFC 21: با نام سمبلیک FILL که برای مقدار دهی اولیه بخشی از حافظه (destination area) بوسیله بخش دیگری از حافظه بکار می رود.
SFC 22: با نام سمبلیک CREAT_DB ، برای ایجاد یا تولید DB (بلوک داده) بدون مقدار دهی اولیه به کار می رود.
SFC 23: با نام سمبلیک DEL_DB ، به منظور پاک کردن (delete) بلوک داده (DB) بکار می رود.
SFC 24: با نام سمبلیک TEST_DB ، با استفاده از این تابع می توان اطلاعات بلوک های داده را در قسمت work memory مربوط به CPU بدست آورد.
SFC 25: با نام سمبلیک COMPERSS، با استفاده از این بلوک می توان بخشی از قسمتهای load memory و work memory مربوط به RAM را فشرده سازی نمود.
SFC 26: با نام سمبلیک UPDAT_PI، با استفاده از این بلوک می توان شکل پروسه را update نمود، منظور از پروسه، جدول ورودی های موجود در بلوک OB1 (شکل پروسه 0) و شکل ورودی های تعریف شده برای STEP 7 می باشد.
SFC 27: با نام سمبلیک UPDAT_PO (update کردن پروسه خروجی) ، وضعیت سیگنال شکل پروسه جدول خروجی OB1 یا شکل پروسه تعریف شده در STEP 7 را می توان با ساتفاده از این بلوک انجام داد.
SFC 28: با نام سمبلیک SET_TINT ، با استفاده از این فانکشن می توان وقفه TOD را تنظیم کرد.
SFC 29: با نام سمبلیک CAN_TINT ، با استفاده از این بلوک می توان وقفه TOD را پاک (cancel) نمود.
SFC 30: با نام سمبلیک ACT_TINT ، که بوسیله این بلوک می توان وقفه TOD را فعال نمود.
SFC 31: با نام سمبلیک QRY_TINT ، از این بلوک برای اطلاع و مشاهده وضعیت وقفه TOD استفاده می شود.
SFC 32: با نام سمبلیک SRT_DIN ، این بلوک بمنظور فعال سازی وقفه تاخیری مربوط به بعضی از OBها کار برد دارد.
SFC 33: با نام سمبلیک CAN_DINT، این بلوک برای غیر فعال سازی وقفه تاخیری مربوط به بعضی از OBها بکار می رود.
SFC 34: با نام سمبلیک QRY_DINT ، این تابع برای نمایش وقفه تاخیری مربوط به بعضی از OBها کاربرد دارد.
SFC 35: با نام سمبلیک MP_ALM ، این تابع برای استفاده در اجرای حالت چند مقایسه ای برای چند وقفه است که امکان اجرا شدن OB60 برای همه CPUها ی درگیر است.
SFC 36: با نام سمبلیک MSK_FLT که برای پنهان کردن خطا های همزمان بمنظور کنترل کردن واکنش CPU به خزاهای همزمان است.
SFC 37: با نام سمبلیک DMSK_FLT، که برای غیر پنهان کردن خطاهای همزمان کاربرد دارد.
SFC 38: با نام سمبلیک READ_ERR ، این تابع برای خواندن ثبات خطا کاربرد دارد.
SFC 39: با نام سمبلیک DIS_IRT ، این تابع برای غیر فعال کردن پروسه وقفه خطاهای جدید همزمان است.
SFC 40: با نام سمبلیک EN_IRT ، این تابع برای فعال کردن پروسه وقفه های جدیدی که قبلا بوسیله SFC 39 غیر فعال گردیده بود می باشد.
SFC 41: با نام سمبلیک DIS_AIRT ، این تابع برای غیر فعال کردن وقفه alarm کاربرد دارد. با استفاده از این تابع می توان در اجرای وقفه OBها و وقفه های خطاهای غیر همزمان OBها که نسبت به OB در حال اجرا اولویت بالاتری دارند تاخیر ایجاد کرد.
SFC 42: با نام سمبلیک EN_AIRT ،که از آن برای فعال کردن وقفه هایی که بوسیله SFC 41 غیر فعال شده بود استفاده می شود.
SFC 43: با نام سمبلیک RE_TRIGR ، که برای اجرا کردن watchdog بکار می رود
SFC 44: با نام سمبلیکREPL_VAL ، که برای انتقال مقدار اکومولاتور 1(انباره) بر اساس اولویت کلاسی که باعث ایجاد خطا شده است، استفاده می شود.
SFC 46: با نام سمبلیک STP ، که برا ی تغییر مد CPU به حالت STOP بکار می رود.
SFC 47: با نام سمبلیک WAIT، که با آن، تاخیر یا زمان انتظار برای برنامه کاربر را می توان برنامه ریزی کرد.
SFC 48: با نام سمبلیک SNC_RTCB، که برای هماهنگ کردن کلاک slaveها برای انتقال زمان و تاریخ، از کلاک master کاربرد دارد.
SFC 49: با نام سمبلیک LGC_GADR ، این تابع آدرس های منطقی را به آدرس های جغرافیایی تبدیل می کند.
SFC 50: با نام سمبلیک RD_LGADAR ، این تابع برای خواندن آدرس های منطقی ماژول کاربرد دارد.
SFC 51: با نام سمبلیک RDSYSST ، با استفاده از این تابع می توان وضعیت تمام یا بخشی از لیست سیستم اجرا را خواند.
SFC 52: با نام سمبلیک WR_USMSG،بوسیله این تابع می توان پیام های تشخیص خطا در CPU انتقال داد.
SFC 54: با نام سمبلیک RD_DPARM ، از این تابع برای خواندن پارامترهای تعیین شده استفاده می گردد.
SFC 55: با نام سمبلیک WR_PARM، از این تابع برای نوشتن پارامترها استفاده می گردد.
SFC 56: با نام سمبلیک WR_DPARM، با استفاده از این تابع می توان پارامترهای پیش فرض را نوشت.
SFC 57: با نام سمبلیک PARRM_MOD، که با استفاده از این تابع می توان پارامترها را به ماژول اختصاص داد.
SFC 58: با نام سمبلیک WR_REC، با استفاده از این تابع می توان داده ها را از RECORD محتوای داده به ماژول آدرس دهی شده انتقال داد.
SFC 59: با نام سمبلیک RD_REC، با استفاده از این تابع می توان داده های ثبتی را بوسیله شماره RECNUM از آدرس ماژول خواند.
SFC 60: با نام سمبلیک GD_SND، با استفاده از این تابع می توان بسته داده های عمومی (global) جمع آوری شده را از مسیر تعیین شده GD (داده های عمومی) ارسال کرد.
SFC 61: با نام سمبلیک GD_RCV، که با استفاده از آن می توان داده های عمومی (GD) رسیده را باز یابی نوده آنها را در بسته های GD وارد کرد.
SFC 62: با نام سمبلیک CONTROL، با استفاده از این تابع می توان وضعیت ارتباط S7-400 از طریق ارتباط محلی (مثلا یک SFB) را بررسی نمود.
SFC 63: با نام سمبلیک AB_CALL، با استفاده از این تابع می توان بلوک مربوط به کدهای اسمبلی را فراخوانی نمود. این نوع بلوک ها بوسیله زبان برنامه نویسی C نوشته شده که فقط در CPU 614 قابل استفاده می باشند.
SFC 64: با نام TIME_TCK، با استفاده از این تابع می توان در حین اجرای cyclically،می توان زمان سیستم را از داخل CPU خواند، زمان سیستم عبارت است از "زمان شمارنده" که cyclically از 0 تا 214743647 میلی ثانیه شمارش می شود.
Cyclically مدتی است که در آن خروجی ها در زمانی که DP master با فرستادن دستور کنترلی UNSYNC،بطور مجدد update می شود. (DP masterبا فرستادن دستور کنترل SYNC به DP slaveها دستور می دهد که خروجی ها را در وضعیت فعلی ثابت (freeze) نمایند.)
SFC 65: با نام سمبلیک X_SEND،با استفاده از این تابع می توان داده های ارتباطی را مشترک خارج از موقعیت S7 فرستاد.
SFC 66: با نام سمبلیک X_RCV، که با استفاده از این تابع داده های ارتباطی فرستاده شده از مشترکان واقع در خارج از محدوده S7 (را که بوسیله SFC 65 ارسال شده است) دریافت نمود.
SFC 67: با نام سمبلیک X_GET، با استفاده از این تابع می توان داده ها ناشی ارتباط با مشترکان خارج از محدوده S7 را خواند.
SFC 68: با نام سمبلیک X_PUT، که با استفاده از این تابع می توان داده ها را از طریق ارتباط، در مشترکان خارج از محدوده S7 نوشت.
SFC 69: با نام سمبلیک X_ABORT، که با استفاده از این تابع می توان به ارتباط هایی که با مشترکان در خارج از محدوده S7 است و برای ارتباط از توابع X_SEND،X_GET یا X_PUT استفاده شده است، پایان داد.
SFC 70: با نام سمبلیک GEO_LOG، که با استفاده از این تابع می توان آدر جغرافیایی را به آدرس منطقی تبدیل نمود که با آن می توان آدر س شروع ماژول را تعیین نمود که آن کوچترین I یا آدرس Q می باشد.
SFC 71: با نام سمبلیک LOG_GEO، که با استفاده از این تابع می توان آدرس منطقی را به آدرس جغرافیایی تبدیل نمود.
SFC 72: با نام سمبلیک I_GET، با استفاده از این تابع می توان داده های ناشی از ارتباط با مشترک موجود در محل S7 را خواند.
SFC 73: با نام سمبلیک I_PUT،با استفاده از این تابع می توان داده ها را در مشترک موجود در محل S7 نوشت.
SFC 74: با نام سمبلیک I_ABORT، با استفاده از این تابع می توان به ارتباط ایجاد شده بوسیله توابع SFC 72 یا SFC 73 پایان داد. (بطور ضمنی مشخص است که این ارتباط بین مشترک واقع در محل S7 می باشد)
SFC 78: با نام سمبلیک RB_RT ، زمان اجرا شدن OB های خاص را در یک دوره زمانی متفاوت تعیین نمود.
SFC 79: با نام سمبلیک SET ، که با استفاده از این تابع می توان دامنه خروجی ها را طبق اثر یا نتیجه های زیر(set)تعیین کرد.
• بیت زمینه( filed) در محدوده I/Oهای انتخاب شده با set کردن پارامترهای Nو SA .
• Set شدن بیت های مشابه در جدول خروجی های تصویر پروسه بدون توجه به نبودن آنها در قسمت تصویر پروسه.
SFC 80: با نام سمبلیک RSET، از این تابع برای reset کردن محدوده خروجی با نتایج زیر
• بیت زمینه( filed) در محدوده I/Oهای انتخاب شده با reset کردن پارامترهای Nو SA .
• Reset شدن بیت های مشابه در جدول خروجی های تصویر پروسه بدون توجه به نبودن آنها در قسمت تصویر پروسه.
SFC 81: با نام سمبلیک UBLKMOV،با استفاده از این تابع می توان محتوای یک ناحیه از حافطه را در ناحیه دیگر حافظه کپی نمود.در زمان اجرای کپی، برنامه دیگری نمی تواند در اجرای کپی وقفه ایجاد نماید.
SFC 82: با نام سمبلیک CREA_DBL، با استفاده از این بلوک می توان درقسمت memory load
(Micro Memory Card)اقدام به ایجاد بلوک داده (DB) جدید نمود.
SFC 83: با نام سمبلیک READ_DBL،از این تابع برای خواندن محتویات بلوک های داده موجود در load memory استفاده می شود.
SFC 84: با نام سمبلیک WRIT_DBL، با استفاده از این تابع می توان اقدام به نوشتن در بلوک های داده موجود در load memory نمود.
SFC 85: با نام سمبلیک CREA_DB ، که با استفاده از این بلوک می توان اقدام به ایجاد بلوک داده جدید نمود ، بلوک داده جدید ایجاد شده از این طریق دارای مقدار پیش فرض نمی باشد.
SFC 87: با نام سمبلیک C_DIAG ، با استفاده از این تابع می توان وضعیت تمامی یا بخشی از ارتباطات و همچنین تمامی خطاهای موجود در ارتباطات S7 را مشخص نمود.
SFC 90: با نام سمبلیک H_CTRL، که با استفاده از این تابع می توان اقدامات زیر را در مورد H system انجام داد:
• می توان از standby شدن master CPUلینک شده جلوگیری نمود.که آن
• می توان update کردن master CPU را غیر فعال نمود.


SFC 100: با نام سمبلیک SET_CLKS ، که با استفاده از آن می توان TODو TOD وضعیت (TOD ،OB مربوط به کلاک زمان و تاریخ CPU است) را set نمود. در حالتی که TOD مربوز به CPU غیر همزمان باشند فقط از SFC 100 می تواناستفاده نمود.
SFC 101: با نام سمبلیکRTM، از این تابع برای set،start،stop و خواندن 32بیت runtime meter مربوط به CPU استفاده می شود.
SFC 102: با نام سمبلیک RD_DPARA ، با استفاده از این تابع می توان شماره پارامتر RECNUM را خواند.
SFC 103: با نام سمبلیک DP_TOPOL، که با استفاده از این تابع امکان شروع تکرار عیب یابی و شناسایی توپولوژی سیستم باس انتخاب شده DP master را فراهم آورد. تمامی تشخیص خطاهای مکرر مرتبط به سیستم DP master با فراخوانی SFC 103 آدرس دهی می شوند.
SFC 104: با نام سمبلیک CiR، این تابع با پیکربندی مجدد،اثرات زیر را به دنبال دارد:
• اگر CiR بطور کامل غیر فعال گردد،دانلود کردن پیکربندی نمایش داده شده از PG بهCPU همیشه رد می شود (CPU آنرا نمی پذیرد) قفل تازمانی که مجددا SFC 104 فعال نشود حفظ می شود.
• بطور مشروط می توان یک حد بالای معینی برای هماهنگ سازی زمان CiR برای غیر فعال کردن کردن CiR در نظر گرفت. در این صورت دانلود کردن پیکربندی نمایش داده شده از PG به CPU به زمان کمتری از آن زمان خاص برای عرض یابی پیکربندی نمایش داده شده احتیاج دارد.
• فعال یا غیر فعال بودن CiR را می توان تعیین کرد، اگر فعال باشد یا بطور مشروط فعال باشد ، پارامتر A_FT محدوده بالای CiR زمان هماهنگ سازی را بر می گرداند.
SFC 105: با نام سمبلیک، READ_SI،که از این تابع برای خواندن منابع سیستم پویا استفاده می گردد.
SFC 106: با نام سمبلیک DEL_SI، با استفاده از این تابع می توان منابع مورد استفاده در حال را پاک نمود.
SFC 107: با نام سمبلیک ALARM_DQ، بوسیله SFC 107 می توان پیام ایجاد نمود و برای اجرای این بلوک سیستم عملیات سیستم آن از منابع ،بطور موقت استفاده می نماید.
SFC 108: با نام سمبلیک ALARM_D، عملکرد این تابع مانند SFC 107 می باشد و تفاوت آنها در مدت زمان اجرای آنها می باشد به این نحو که در SFC 108 ، با اجرای این تابع مقدار SIG=1 برقرار می شود و تا زمان فرا خوانی مجدد تابع مقدار SIG=0 می شود. اما SFC 107،زمان اجرای سیستم (1بودن SIG) تا زمان تایید نمایش پیام بوسیله نمایشگر طول می کشد.
SFC 112: با نام سمبلیک PN_IN،با استفاده از این بلوک می توان داده های ورودی به پروفی نت از حافظه ثانوی موقت کپی (shadow memory) را کرد.
SFC 113: با نام سمبلیک PN_OUT، با استفاده از این تابع می توان داده های خروجی تولید شده از کاربرد بلوک داده (DB) رابط پرفی نت به حافظه ثانویه موقت (shadow memory) را کپی کرد.
SFC 114: با نام سمبلیک PN_DP، که با استفاده از این تابع به نتایج زیر می توان رسید:
• آخرین وضعیت ارتباط بین پروفی نت و پروفی باس محلی را بررسی کرد، (وضعیت ارتباط را update کرد).
• بررسی ارتباط بین چرخه مبادلات بین اجزای پروفی نت و پرفی باس محلی و اجزای پروفی نت اضافی (که این نوع ارتباط بین شبکه ها پروفی باس و اترنت صنعتی می باشد).
SFC 126: با نام سمبلیک SYNC_PI، با استفاده از این تابع می توان آخرین وضعیت تصویر پروسه را در جدول ورودی ها بررسی کرد(آن را update) کرد. تصویر پروسه بخشی از سیکل اسکن CPUاست که در آن CPU در هر سیکل، آخرین وضعیت داده های ورودی را بررسی می کند و آن مقادیر را برای ایجاد خروجی های منطبق با برنامه نوشته شده در CPU بکار می برد.
SFC 127: با نام سمبلیک SYN_PO، با استفاده از این تابع می توان آخرین وضعیت تصویر پروسه را در جدول ورودی ها بررسی کرد(آن را update) کرد.
پارامترهای مشترک (رایج) SFC ها
اگر اجرای برنامه SFC در CPU با خطا همراه باشد(موفقیت آمیز نباشد)،به 2 روش می توان هر نوع از اطلاعات در مورد هر خطایی را نمایش داد.
.1 از طریق بیت BR از داخل Status Word
.2 از طریق پارامتر Output ، RET_VAL
نکته مهم : قبل از ارزیابی یک پارامتر خروجی خاص یک SFC لازم است که، این 2 مرحله اجرا شود:
1.ابتدا ارزیابی بیت BR از Status Word .
2. بررسی پارامتر خروجی RET_VAL .
اگر بیت BR نشان دهد که یک خطا رخ داده است یا اگر RET_VAL شامل یک کد خطای عمومی باشد، نباید پارامتر خروجی SFC را مورد ارزیابی قرار داد. در واقع با هر یک از 2 مورد بالا می توان دریافت که عملیات اجرایی SFC بدون خطا بوده است یا نه،

کلیه حقوق این وب سایت محفوظ و متعلق به قشم ولتاژ می باشد. طراحی و اجرا توسط