چگونه تگها را شمارهگذاری کنیم
قرارداد نامگذاری کاغذبازی نیست. تفاوت میان تاریخنگاری است که میتوان از آن پرسوجو کرد و چهل هزار نقطه که کسی پیداشان نمیکند — و اصلاحش بعدا تقریبا ناممکن است.

نامگذاری تگ پرسشی اداری به نظر میرسد و در واقع پرسشی معماری است. نامهایی که هنگام راهاندازی تخصیص مییابند به نشانی دائمی هر اندازهگیریای بدل میشوند که کارخانه تا ابد خواهد کرد. سر از تاریخنگار درمیآورند، از گزارشها، از فهرست هشدارها، از پروژه تحلیلی سه سال بعد، و از هر سامانهای که جانشین سامانه فعلی شود. همچنین تنها چیزی در یک سامانه صنعتیاند که تغییرشان بعدا از همه دشوارتر است، چون هر مصرفکننده داده آنها را سفتکد کرده است.
حالت خرابی آشناست. کارخانهای به چهل هزار نقطه میرسد و کسی چیزی پیدا نمیکند. سه تگ یک کمیت فیزیکی واحد را با نامهای متفاوت اندازه میگیرند چون سه پیمانکار در سالهای متفاوت در سایت بودهاند. تگی به نام TT-101 در دو واحد وجود دارد. حروف در خطوط متفاوت معناهای متفاوتی دارند. کسی نمیداند FIC_203_PV مقدار فرایندی یک کنترلر جریان است یا یک جمعکننده، و تنها کسی که میدانست بازنشسته شده. در آن نقطه داده وجود دارد و غیرقابلاستفاده است، که نسخه گرانقیمت نداشتن آن است.
قراردادی که کار میکند شمار کمی ویژگی دارد. نظاممند است، پس نام را میتوان ساخت و تجزیه کرد به جای به یاد آوردن. موقعیت، تجهیز و نوع اندازهگیری را در جایگاههای ثابت رمزگذاری میکند. به جای یکتایی در هر واحد، در کل کارخانه یکتاست، چون لحظهای که دو سامانه به هم میپیوندند یکتایی واحدی به تصادم بدل میشود. زیر تغییر پایدار است — یعنی چیزی را رمزگذاری نمیکند که احتمال بازسازماندهیاش هست، مثل یک دپارتمان، یک مرکز هزینه، نام یک فروشنده، یا رک و اسلات کنترلر. و ماشینی قابل بررسی است، پس یک اسکریپت میتواند نام بدشکل را در همان نقطه ورود رد کند نه آنکه ممیزی بعدا پیدایش کند.
استانداردهای ارزشمند برای دانستن عبارتاند از ISA-5.1 برای شناسایی ابزار دقیق که کدهای حرفی آشنا را میدهد — حرف نخست متغیر اندازهگیریشده، حروف بعدی کارکرد، پس TIC کنترلر نشاندهنده دما و PDT فرستنده فشار تفاضلی است — و KKS یا جانشینش RDS-PP در نیروگاه که کاملتر و سلسلهمراتبیتر است. هیچکدام بیرون از صنایع خاص الزامی نیستند، اما پذیرفتن یکی به جای اختراع طرحی خصوصی مزیتی ماندگار دارد: پیمانکار بعدی از پیش میشناسدش، و بسته نرمافزاری بعدی هم.
زیر این رشته تصمیم عمیقتری هست: اینکه اصلا نام معنا را حمل کند یا نه. رویکرد سنتی معنا را در شناسه رمزگذاری میکند، یعنی شناسه باید بلند باشد و هر مصرفکننده باید تجزیهاش کند. بدیل مدرن این است که شناسه کوتاه و پایدار بماند — ایدهآل آنکه بیمعنا باشد، مثل یک شناسه یکتا یا یک شماره ترتیبی — و معنا در مدل دارایی کنارش نگه داشته شود: این نقطه به آن پمپ تعلق دارد، دما میسنجد، این واحدهای مهندسی را دارد، این بازه را، این درجه بحرانی بودن را. استانداردهایی مثل مدل اطلاعاتی OPC UA و چارچوبهای دارایی در تاریخنگارها دقیقا برای نگه داشتن همین وجود دارند. مزیت این است که معنا را میتوان بیآنکه چیزی تغییر نام دهد تصحیح کرد، و یک نقطه میتواند چند معنا برای چند مخاطب داشته باشد. هزینه این است که حالا مدلی برای نگهداری و مهاجرتی برای انجام دارید، و مدل را باید کسی پر کند که کارخانه را میشناسد.
پاسخ عملگرایانه برای بیشتر سایتها هر دوست: نامی ساختیافته و قابلتجزیه برای کاربرد انسانی و پیوستگی با نقشههای موجود، بهعلاوه مدل داراییای که روی آن لایه میشود و واحدها، بازهها، روابط تجهیزات و درجه بحرانی بودن را حمل میکند. نام سازگاری را میدهد؛ مدل پرسوجوهایی مثل «دمای هر یاتاقان روی هر کمپرسور در این ناحیه» را بینیاز از تطبیق الگو روی رشتهها ممکن میکند.
هر چه انتخاب شود، سه قاعده بازده نامتناسبی دارند. قرارداد را با مثال و ضدمثال بنویسید و در پیمان بگذارید، چون پیمانکار در غیر این صورت هر چه در کار قبلیاش بوده به کار میبرد. با اسکریپت اعمالش کنید نه با بازبینی، در همان لحظهای که تگها ساخته میشوند. و واحد مهندسی و بازه را به جای نام در ویژگیها ثبت کنید، چون واحدها تغییر میکنند، نامها نباید، و تگی به نام Flow_GPM در کارخانهای که به متر مکعب بر ساعت رفته یک دروغ کوچک دائمی است.
آزمون یک قرارداد این نیست که مرتب به نظر برسد. این است که آیا میتوان به کسی که هرگز این کارخانه را ندیده نامی داد و او بگوید چه میسنجد، کجاست و به چه چیزی وصل است — و آیا اسکریپتی میتواند همهشان را پیدا کند.