SLC-5/04 Julian Date Generator Implementation Guide — figure 1

SLC-5/04 үшін Джулиан күнін генераторын іске асыру нұсқаулығы

Жапсырма принтерлеріне ASCII форматында шығару үшін SLC-5/04 контроллерінде Юлиан күнін генераторлауды іске асырыңыз. Compute нұсқауларын қолданатын баспалда...

1747-L542 сияқты процессорларды қамтитын SLC-5/04 тобы кірістірілген Юлиан күн нөмірі (JDN) нұсқауын ұсынбайды. Буып-түю, партия кодтау және жапсырма принтерлері көбіне жылдың күн нөмірін немесе ықшам YYYYDDD жолын қажет етеді, сондықтан логиканы кәдімгі математикалық және деректер кестесі операциялары арқылы құрастыру керек. Бұл нұсқаулық CPT өрнектерін, ай күндерінің жинақталған кестесін, кібісе жылды өңдеуді және принтерге жіберілетін деректерді ASCII түрлендіруді пайдаланып, қолдауға ыңғайлы тәсілді ұсынады. Сонымен қатар алғашқы іске асырулардың көбінде қиындық туғызатын он алты разрядты математика шектеулерін атап көрсетеді.

SLC-5/04 Юлиан күн генераторын іске асыру нұсқаулығы — 1-сурет SLC-5/04 процессорлары CPT, бүтін сан файлдары және мұқият таңдалған RTC мәндері арқылы ladder ортасында жылдың күнін және Юлиан үлгісіндегі кодтарды есептейді.

Бастапқы материалдар кейде жыл, ай және күн үшін S:50–S:52 аймағындағы статус файлы сөздерін көрсетеді, ал басқа құжаттар процессор мен микробағдарлама мәнмәтініне қарай S:37 айналасындағы кеңірек нақты уақыт сағаты аймағына назар аударады. RTC бастапқы сөздерін мұқият қолданыңыз: тег бүркеншік аттарын бекітпес бұрын орнатылған каталог пен серияға арналған статус файлының нақты картасын тексеріңіз. Күнтізбе өрістерінің дұрыстығына көз жеткізілгеннен кейін алгоритмді SLC-5/04 жобаларының барлығына қолдануға болады.

Деректер кестесінің орналасуы

Таза бүтін сан орналасуы процедураны келесі техникке түсінікті етеді. Әдеттегі үлгіде N7 регистрлері былай қолданылады: N7:0 — жыл, N7:1 — ай, N7:2 — ай күні, N7:3 — жылдың күн нөмірі нәтижесі, N7:4 — кібісе жыл жалаушасы, ал N7:5 — аралық CPT нәтижелерін уақытша сақтау орны. Айларға арналған жинақталған күн ығысуларының мәндерін тұрақты бүтін сан кестесінде сақтаңыз: мысалы, N10:1 мен N10:12 аралығында кібісе емес жылға арналған қарашаға дейінгі базалық мәндер ретінде 0, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 мәндері сақталсын. Ақпанға қатысты түзету орындалу кезінде кестені өзгертпей, кібісе жыл жалаушасы арқылы жасалады. Нөлден басталатын индекстеуді таңдасаңыз, нақты кестені соған сәйкестендіріңіз және оны rung жанына құжаттаңыз.

DOY тәсіліне мысал (тұжырымдамалық)
Кібісе жыл = (Y 4-ке бөлінеді) және қажет болса, ғасыр ережелері ескеріледі
DOY = Күн + Жинақталған[Ай] + (Кібісе жыл ЖӘНЕ Ай>2)
Принтерлерге арналған ASC / AIF үлгісіндегі форматтау арқылы YYYYDDD жолы

Көптеген зауыттар үшін YYYYDDD түріндегі жылдың күн нөмірі (DOY) жеткілікті және толық астрономиялық JDN күрделілігін болдырмайды. Ғасырларды қамтитын толық Юлиан күн нөмірлері кеңірек бүтін сан өңдеуін талап етеді; аралық көбейтінділер уақытша сақталмаса, SLC жүйесіндегі CPT операциялары 16 биттік бүтін сандарда толып кетеді. DOY мәнін 16 биттік кеңістікте есептеп, кейін бір ғана шамадан тыс үлкен бүтін санға мәжбүрлемей, жыл мен нөлдермен толықтырылған DOY мәнін принтерге арналған ASCII файлында біріктірген дұрыс.

Кібісе жыл және CPT құрылымы

Кібісе жыл логикасы сапа жүйеңізде қолданылатын азаматтық күнтізбе ережелеріне сай болуы керек. Ең аз дегенде, төртке бөлінетін жылдар кібісе жыл болып саналады; егер өнімнің қызмет ету мерзімі ғасыр шекараларын қамтыса, толық Григориан ерекшеліктерін қолданыңыз: ғасыр жылдары тек 400-ге бөлінсе ғана кібісе жыл болады. Жыл кібісе болғанда N7:4 мәнін бірге орнатыңыз. Жинақталған ай ығысуын қосқанда, қосымша бір күнді тек кібісе жыл жалаушасы орнатылып, ай ақпаннан кейін болған жағдайда қосыңыз. Бұл қосымшаны оқылуы қиын өрнекке кірістірілген шарттардың орнына арнайы CPT ішінде орындаңыз.

Тексерілген RTC бастапқы сөздерінен жылды, айды және күнді баяу мерзімді тапсырмада немесе алғашқы сканерлеу мен күн сайынғы шеткі импульс кезінде N7 жұмыс регистрлеріне көшіріңіз. RTC сөздерін әрбір еркін орындалатын rung ішінде оқымаңыз, өйткені төменгі деңгейдегі ASC форматтауы ресурсты көп қажет етуі мүмкін; күнді кодтау үшін минутына бір рет жаңарту әдетте жеткілікті.

SLC-5/04 Юлиан күн генераторын іске асыру нұсқаулығы — 2-сурет Штрихкод ұзындығы тұрақты болуы керек жағдайда нөлдермен толықтырылған DOY жолдары жапсырма принтерлеріне шикі бүтін сандарға қарағанда сенімдірек жіберіледі.

Жапсырма принтерлеріне арналған ASCII форматтауы

Өнеркәсіптік принтерлердің көпшілігі бекітілген енді жолды күтеді. DOY N7:3 ішінде есептелгеннен кейін, күн өрісінің алдына нөлдер қосып, YYYYDDD сияқты жол жасау үшін ASCII файл нұсқауларын пайдаланыңыз. Басып шығаруды растау сигналын іске қоспас бұрын ұзындықты тексеріңіз. Принтер протоколына бөлгіштер немесе зауытқа тән префикстер қажет болса, принтердің өзі толықтыруына сенбей, оларды сол жол буферінде құрыңыз.

  1. Нақты 1747-L542 (немесе орнатылған SLC-5/04) микробағдарламасы үшін RTC сөздерінің сәйкестігін растаңыз.
  2. N7 жұмыс тегтерін және жинақталған ай кестесін бүтін сан файлында жасаңыз.
  3. Кібісе жылға арналған CPT логикасын және күн + жинақталған мән + кібісе жыл түзетуін қосатын DOY CPT процедурасын жазыңыз.
  4. YYYYDDD мәнін ASC арқылы форматтап, оны белгілі күндермен, соның ішінде кібісе және кібісе емес жылдардағы 28 ақпан және 1 наурыз күндерімен тексеріңіз.
  5. Егер қандай да бір процедура толық, бірнеше ғасырды қамтитын JDN көбейтінділерін есептеуге тырысса, 16 биттік толып кетуден қорғаңыз; математиканы кезеңдерге бөліңіз немесе бұл есептеуді SLC жүйесінен тыс орындаңыз.

Кібісе жылды және принтердегі нөлмен толықтыруды тексеру

Тексеру күндеріне 2024-02-29, 2024-03-01, 2025-02-28 және жылдың соңындағы 12-31 ауысулары кіруі керек. PLC жүйесіндегі DOY мәнін тәуелсіз күнтізбемен салыстырыңыз. Негізгі қателерге статус файлындағы қате мекенжайларға сену, ақпанға арналған кібісе жыл түзетуін ұмыту, штрихкод өрістерін ығыстыратын нөлдермен толықтырылмаған DOY мәндерін басып шығару және кейін процедураны толық JDN бағытына кеңейткенде CPT аралық мәндерінің толып кетуі жатады. Ladder ішіндегі түсіндірмелерде сол машинада нақты қолданылған RTC бастапқы сөздеріне сілтеме жасаңыз.

Күн коды кеңірек буып-түю ұяшығының бөлігі болса, генераторды қайта пайдалануға болатын файл ретінде сақтап, желілердегі бүтін сан орналасуларын біріздендіріңіз. Осы SLC-500 PLC жүйелеріне арналған қосалқы процессорлар мен құжаттамада күн кодтау процедурасы болуы керек, сонда процессор ауыстырылғанда ескірген әрі қате күнтізбе іске асыруына байқамай оралу болмайды.

Автор туралы

Mark Townsend | Allen-Bradley жүйелері бойынша аға автоматтандыру инженері

Mark Townsend — ControlLogix, CompactLogix және ескі SLC-500 платформаларын қамтитын Allen-Bradley жүйелерінде 18 жылдан астам тәжірибесі бар аға автоматтандыру инженері. Оның күнделікті жұмысы — ескірген және аралас жабдықтар парктерінде RSLogix / Studio 5000 логикасын әзірлеу және FactoryTalk View HMI жүйелерін іске қосу.

SLC-5/04 үшін Джулиан күнін генераторын іске асыру нұсқаулығы

Жапсырма принтерлеріне ASCII форматында шығару үшін SLC-5/04 контроллерінде Юлиан күнін генераторлауды іске асырыңыз. Compute нұсқауларын қолданатын баспалдақты логиканы қадам-қадамымен көрсетіңіз.

1747-L542 сияқты процессорларды қамтитын SLC-5/04 тобы кірістірілген Юлиан күн нөмірі (JDN) нұсқауын ұсынбайды. Буып-түю, партия кодтау және жапсырма принтерлері көбіне жылдың күн нөмірін немесе ықшам YYYYDDD жолын қажет етеді, сондықтан логиканы кәдімгі математикалық және деректер кестесі операциялары арқылы құрастыру керек. Бұл нұсқаулық CPT өрнектерін, ай күндерінің жинақталған кестесін, кібісе жылды өңдеуді және принтерге жіберілетін деректерді ASCII түрлендіруді пайдаланып, қолдауға ыңғайлы тәсілді ұсынады. Сонымен қатар алғашқы іске асырулардың көбінде қиындық туғызатын он алты разрядты математика шектеулерін атап көрсетеді.

SLC-5/04 Юлиан күн генераторын іске асыру нұсқаулығы — 1-сурет SLC-5/04 процессорлары CPT, бүтін сан файлдары және мұқият таңдалған RTC мәндері арқылы ladder ортасында жылдың күнін және Юлиан үлгісіндегі кодтарды есептейді.

Бастапқы материалдар кейде жыл, ай және күн үшін S:50–S:52 аймағындағы статус файлы сөздерін көрсетеді, ал басқа құжаттар процессор мен микробағдарлама мәнмәтініне қарай S:37 айналасындағы кеңірек нақты уақыт сағаты аймағына назар аударады. RTC бастапқы сөздерін мұқият қолданыңыз: тег бүркеншік аттарын бекітпес бұрын орнатылған каталог пен серияға арналған статус файлының нақты картасын тексеріңіз. Күнтізбе өрістерінің дұрыстығына көз жеткізілгеннен кейін алгоритмді SLC-5/04 жобаларының барлығына қолдануға болады.

Деректер кестесінің орналасуы

Таза бүтін сан орналасуы процедураны келесі техникке түсінікті етеді. Әдеттегі үлгіде N7 регистрлері былай қолданылады: N7:0 — жыл, N7:1 — ай, N7:2 — ай күні, N7:3 — жылдың күн нөмірі нәтижесі, N7:4 — кібісе жыл жалаушасы, ал N7:5 — аралық CPT нәтижелерін уақытша сақтау орны. Айларға арналған жинақталған күн ығысуларының мәндерін тұрақты бүтін сан кестесінде сақтаңыз: мысалы, N10:1 мен N10:12 аралығында кібісе емес жылға арналған қарашаға дейінгі базалық мәндер ретінде 0, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 мәндері сақталсын. Ақпанға қатысты түзету орындалу кезінде кестені өзгертпей, кібісе жыл жалаушасы арқылы жасалады. Нөлден басталатын индекстеуді таңдасаңыз, нақты кестені соған сәйкестендіріңіз және оны rung жанына құжаттаңыз.

DOY тәсіліне мысал (тұжырымдамалық)
Кібісе жыл = (Y 4-ке бөлінеді) және қажет болса, ғасыр ережелері ескеріледі
DOY = Күн + Жинақталған[Ай] + (Кібісе жыл ЖӘНЕ Ай>2)
Принтерлерге арналған ASC / AIF үлгісіндегі форматтау арқылы YYYYDDD жолы

Көптеген зауыттар үшін YYYYDDD түріндегі жылдың күн нөмірі (DOY) жеткілікті және толық астрономиялық JDN күрделілігін болдырмайды. Ғасырларды қамтитын толық Юлиан күн нөмірлері кеңірек бүтін сан өңдеуін талап етеді; аралық көбейтінділер уақытша сақталмаса, SLC жүйесіндегі CPT операциялары 16 биттік бүтін сандарда толып кетеді. DOY мәнін 16 биттік кеңістікте есептеп, кейін бір ғана шамадан тыс үлкен бүтін санға мәжбүрлемей, жыл мен нөлдермен толықтырылған DOY мәнін принтерге арналған ASCII файлында біріктірген дұрыс.

Кібісе жыл және CPT құрылымы

Кібісе жыл логикасы сапа жүйеңізде қолданылатын азаматтық күнтізбе ережелеріне сай болуы керек. Ең аз дегенде, төртке бөлінетін жылдар кібісе жыл болып саналады; егер өнімнің қызмет ету мерзімі ғасыр шекараларын қамтыса, толық Григориан ерекшеліктерін қолданыңыз: ғасыр жылдары тек 400-ге бөлінсе ғана кібісе жыл болады. Жыл кібісе болғанда N7:4 мәнін бірге орнатыңыз. Жинақталған ай ығысуын қосқанда, қосымша бір күнді тек кібісе жыл жалаушасы орнатылып, ай ақпаннан кейін болған жағдайда қосыңыз. Бұл қосымшаны оқылуы қиын өрнекке кірістірілген шарттардың орнына арнайы CPT ішінде орындаңыз.

Тексерілген RTC бастапқы сөздерінен жылды, айды және күнді баяу мерзімді тапсырмада немесе алғашқы сканерлеу мен күн сайынғы шеткі импульс кезінде N7 жұмыс регистрлеріне көшіріңіз. RTC сөздерін әрбір еркін орындалатын rung ішінде оқымаңыз, өйткені төменгі деңгейдегі ASC форматтауы ресурсты көп қажет етуі мүмкін; күнді кодтау үшін минутына бір рет жаңарту әдетте жеткілікті.

SLC-5/04 Юлиан күн генераторын іске асыру нұсқаулығы — 2-сурет Штрихкод ұзындығы тұрақты болуы керек жағдайда нөлдермен толықтырылған DOY жолдары жапсырма принтерлеріне шикі бүтін сандарға қарағанда сенімдірек жіберіледі.

Жапсырма принтерлеріне арналған ASCII форматтауы

Өнеркәсіптік принтерлердің көпшілігі бекітілген енді жолды күтеді. DOY N7:3 ішінде есептелгеннен кейін, күн өрісінің алдына нөлдер қосып, YYYYDDD сияқты жол жасау үшін ASCII файл нұсқауларын пайдаланыңыз. Басып шығаруды растау сигналын іске қоспас бұрын ұзындықты тексеріңіз. Принтер протоколына бөлгіштер немесе зауытқа тән префикстер қажет болса, принтердің өзі толықтыруына сенбей, оларды сол жол буферінде құрыңыз.

  1. Нақты 1747-L542 (немесе орнатылған SLC-5/04) микробағдарламасы үшін RTC сөздерінің сәйкестігін растаңыз.
  2. N7 жұмыс тегтерін және жинақталған ай кестесін бүтін сан файлында жасаңыз.
  3. Кібісе жылға арналған CPT логикасын және күн + жинақталған мән + кібісе жыл түзетуін қосатын DOY CPT процедурасын жазыңыз.
  4. YYYYDDD мәнін ASC арқылы форматтап, оны белгілі күндермен, соның ішінде кібісе және кібісе емес жылдардағы 28 ақпан және 1 наурыз күндерімен тексеріңіз.
  5. Егер қандай да бір процедура толық, бірнеше ғасырды қамтитын JDN көбейтінділерін есептеуге тырысса, 16 биттік толып кетуден қорғаңыз; математиканы кезеңдерге бөліңіз немесе бұл есептеуді SLC жүйесінен тыс орындаңыз.

Кібісе жылды және принтердегі нөлмен толықтыруды тексеру

Тексеру күндеріне 2024-02-29, 2024-03-01, 2025-02-28 және жылдың соңындағы 12-31 ауысулары кіруі керек. PLC жүйесіндегі DOY мәнін тәуелсіз күнтізбемен салыстырыңыз. Негізгі қателерге статус файлындағы қате мекенжайларға сену, ақпанға арналған кібісе жыл түзетуін ұмыту, штрихкод өрістерін ығыстыратын нөлдермен толықтырылмаған DOY мәндерін басып шығару және кейін процедураны толық JDN бағытына кеңейткенде CPT аралық мәндерінің толып кетуі жатады. Ladder ішіндегі түсіндірмелерде сол машинада нақты қолданылған RTC бастапқы сөздеріне сілтеме жасаңыз.

Күн коды кеңірек буып-түю ұяшығының бөлігі болса, генераторды қайта пайдалануға болатын файл ретінде сақтап, желілердегі бүтін сан орналасуларын біріздендіріңіз. Осы SLC-500 PLC жүйелеріне арналған қосалқы процессорлар мен құжаттамада күн кодтау процедурасы болуы керек, сонда процессор ауыстырылғанда ескірген әрі қате күнтізбе іске асыруына байқамай оралу болмайды.

Автор туралы

Mark Townsend | Allen-Bradley жүйелері бойынша аға автоматтандыру инженері

Mark Townsend — ControlLogix, CompactLogix және ескі SLC-500 платформаларын қамтитын Allen-Bradley жүйелерінде 18 жылдан астам тәжірибесі бар аға автоматтандыру инженері. Оның күнделікті жұмысы — ескірген және аралас жабдықтар парктерінде RSLogix / Studio 5000 логикасын әзірлеу және FactoryTalk View HMI жүйелерін іске қосу.

Leave a comment

Please note, comments need to be approved before they are published.