Програмирование на Unicorn

Одним из несомненных достоинств хроматографов General Electric является управляющая программа Unicorn. Данная программа разбита на несколько основных блоков, каждый из которых отвечает за свои функции. Тут и менеджер файлов (методов и хроматограмм) - Unicorn Manager; и редактор хроматограм - Evaluation; и System control - на каждый контролируемый хроматограф, а также редактор методов. Как понятно из названия в редакторе методов (Metod Editor) можно редактировать или создавать новые методы проведения хроматографических операций (промывка, регенерация, градиент и т.д.). Программы можно создавать как с помощью "Волшебника", так и в ручную, что обычно и делаю, т.к. в ней и заключается главное достоинство Unicorn.

Все дело в том, что основу создаваемых методов составляют программы, написанные на очень логичном и богатом по своим возможностям алгоритмическом языке. Его логичность и стройность позволяют достаточно быстро его осваивать и создавать методы полностью удовлетворяющие хроматографиста. Для примера приведу листинг такой программы:

METHOD MAIN_SEPARATION

 0.00 Base Volume

0.00 PumpAInlet A1

0.00 BufferValveA1 A11

0.00 PumpBInlet B1

0.00 FlowDirection DownFlow

0.00 Alarm_Pressure Enabled, 1.50 {MPa}, 0.00 {MPa}

0.00 OutletValve WasteF1

0.00 Flow 100.00 {ml/min}

0.00 Gradient 0.0 {%B}, 0.00 {base}

0.00 ColumnPosition Position1Bypass

0.00 Block Normal, pump_wash

0.00 Base SameAsMain

0.00 Gradient 100 {%B}, 0.00 {base}

70.00 Gradient 0.00 {%B}, 0.00 {base}

140.00 End_Block

 

0.00 Block Normal, Equllibration

0.00 Base SameAsMain

40.00 AutoZeroUV

50.00 ColumnPosition Position7

1500.00 OutletValve F3

1580.00 OutletValve WasteF1

1600.00 End_Block

 

0.00 Block Normal, sample_application

0.00 Base SameAsMain

0.00 PumpAInlet A2

0.00 PumpBInlet B2

0.00 Gradient 50.00 {%B}, 0.00 {base}

0.00 Flow #Load_flow {ml/min}

0.00 Alarm_AirSensor1 Enabled

2000.00 Alarm_AirSensor1 Disabled

2050.00 Watch_AirSensor2 Equal, 1, END_BLOCK

14050.00 End_Block

 

0.00 Block Normal, wash

0.00 Base SameAsMain

0.00 PumpAInlet A1

0.00 BufferValveA1 A11

0.00 PumpBInlet B1

0.00 Flow 100.00 {ml/min}

0.00 Gradient 0.00 {%B}, 0.00 {base}

1600.00 End_Block

 

0.00 Block Normal, Fractionation_CM1

0.00 Base SameAsMain

0.00 AutoZeroUV

0.00 Watch_UV1 Greater_Than, 50.0000 {mAU}, peak1

peak1

0.00 Base SameAsMain

0.00 OutletValve F3

0.00 Watch_UV1 Less_Than, 50.0000 {mAU}, waste1

waste1

0.00 Base SameAsMain

0.00 OutletValve WasteF1

0.00 End_block

0.00 End_block

0.00 End_Block

 

0.00 Block Normal, Gradient

0.00 Base SameAsMain

0.00 Flow 50.00 {ml/min}

0.00 Gradient 100.0 {%B}, 1600.00 {base}

1600.00 End_Block

 

0.00 Block Normal, Regeneration

0.00 Base SameAsMain

600.00 End_Block

 

0.00 End_Method

Сразу видно, что как и в обычном языке програмирования тело программы разбито на процедуры, выполняющиеся при наступлении какого-либо события. Так что любому человеку, сдавшему програмирование в школе на Бейсике на 4 скорее всего не составит большого труда ее освоить.

Виктор аватар

Хроматографистом можешь ты не быть

Так- а почему у нас не было Бейсика в школе? Это уже дискриминация:-(. Значит хроматографистом можешь ты не быть, а программистом быть обязан?  А вот теперь поподробнее- всё так плохо что вместо нажатия пары кнопок и задания режимов надо ещё и программы писать?   И это девочки должны делать, которых  работой с мышкой обучить трудно?  Чудны дела твои, господи!!!!

Василий аватар

Нет, ну конечно

Нет, ну конечно абы какой "девчонке" написать программу не доверяют. Можно и вручную, конечно, задать режимы и последовательно запускать: уравновешивание, нанесение, промывки, градиент, отмывку и т.д. Причем надо будет самому все контролировать и самому реагировать на всякие события (поднялось давление, воздух пошел, фракции собирать когда и какого объема и когда их прекращать собирать). Вообщем воспроизводимостью тут не пахнет, да и надежность человеческого фактора еще под вопросом, особенно если весь процесс может идти от часов до суток. Так что легче написать один раз программу, предусматривающую большинство рабочих проблем и "девушка" приходит, нажимает 2 кнопки, проверяет правильно-ли расперделены шланги и запускает весь процесс. Остается только периодически посматривать: оттуда ли льется. Заодно, если будет чуточку любознательной, то команды и логику выучит и все будет хорошо.
Ну а в общем случае я думаю, что писать программы при работе на препаративном хроматографе все равно придется, другой вопрос насколько эта процедура понятна и удобна. У Unicorn все очень логично и удобно.

Shurae аватар

На самом деле

На самом деле все вовсе не так сложно.
Как и в подавляющем большинстве современного хроматографического ПО, тут есть не только текстовой редактор, но и "Волшебник". Именно в нём обычно сначала создают метод, а уж потом дорихтовывают его текстом.

Василий аватар

Открою страшный секрет :)

Я тоже далеко не сразу все освоил и до сих пор про некоторые функции приходится спрашивать или обращаться к "Помощи".
Мой обычный метод освоения написания программ таков: нахожу рабочую программу и смотрю что, за что отвечает, потом, разобравшись в основных командах (сила потока, включение клапанов, создание градиента, сигналы и т.д.) создаю его копию и по немногу его изменяю на чем-нибудь не особо важном или совсем на пустом градиенте. Таким образом и риска нет, т.к. рабочий метод остается в неприкосновенности и сам, поработав руками, мигом все запоминаешь, т.к. уже работаешь "с понятием". Ну и еще память у меня такая с вывертом: пока не потрогаю и не пойму - запоминаю с трудом и не очень верно.

О пользователе

Василий аватар
User offline. Last seen 3 недели 5 дней ago. Не в сети
Администраторы



Настоящее имя Купцов Василий

Пол мужской

Дата рождения 28/01/1979

Мой сайт http://www.chromatogramma.ru/

Зарегистрирован(а): 20/05/2009