www.pyramid.tech
FX4
FX4 программист колдонмосу
Документтин номери: 2711715845
Версия: v3
FX4 программист
Документтин номери: 2711715845
FX4 - FX4 программист колдонмосу
Документ ID: 2711650310
Автор | Мэтью Николс |
Ээси | Долбоор жетекчиси |
Максат | API колдонуу үчүн зарыл болгон программалоо түшүнүктөрүн түшүндүрүп, тышкы тиркемелер аркылуу продуктуну кеңейтүү. |
Колдонуу чөйрөсү | FX4 менен байланышкан программалоо түшүнүктөрү. |
Максаттуу аудитория | Программаны иштеп чыгуучулар продуктуну колдонууга кызыкдар. |
Процесс | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standart%20Manual%20Creation%20Process |
Тренинг | ЖАРАКСЫЗ |
Version Control
Версия | Description | тарабынан сакталган | Сакталган | Статус |
v3 | Жөнөкөй кошумча кошулдуview жана башка эксamples. | Мэтью Николс | 6-март, 2025-жыл, 10:29 | ЖАКТЫЛГАН |
v2 | IGXге кайра санарип IO интерфейстери жана шилтемелер кошулду. | Мэтью Николс | 3-май, 2024-жыл, 7:39 | ЖАКТЫЛГАН |
v1 | Баштапкы чыгарылыш, дагы эле жүрүп жаткан иш. | Мэтью Николс | 21-февраль, 2024-жыл, 11:25 | ЖАКТЫЛГАН |
Документти көзөмөлдөө Ре эмесviewed
Учурдагы документ версиясы: v.1
жок reviewдайындалган.
1.1 Кол коюулар
документтин эң акыркы версиясы үчүн
Жума, 7-март, 2025-жыл, 10:33 UTC
Matthew Nichols кол койду; мааниси: Review
Шилтемелер
Документ | Документ ID | Автор | Версия |
IGX – Программисттин колдонмосу | 2439249921 | Мэтью Николс | 1 |
FX4 программалоо бүттүview
FX4 процессору IGX деп аталган чөйрөдө иштейт, ал BlackBerry компаниясынын QNX жогорку ишенимдүүлүгү реалдуу убакыт операциялык тутумунда курулган (QNX Webсайт¹). IGX ийкемдүү жана комплекстүү колдонмо программалоо интерфейсин (API) камсыз кылат, алар өздөрүнүн компьютердик программалык камсыздоосун жазгысы келген колдонуучулар үчүн.
IGX чөйрөсү башка Пирамида өнүмдөрүндө бөлүшүлүп, бир продукт үчүн иштелип чыккан программалык чечимдерди башкаларга оңой өткөрүп берүүгө мүмкүндүк берет.
Программисттер Пирамидада бар IGX үчүн толук документтерге кайрыла алышат webсайт: IGX | Заманбап модулдук башкаруу тутумунун негизи Web- иштетилген Тиркемелер²
Бул бөлүмдө API ыкмаларынын экөөсүн сынап көрүүгө киришүү камтылган: HTTP JSON форматын жана EPICS. Жөнөкөйлүк үчүн Python (Python Webсайт³) мурунку катары колдонулатample хост компьютер тили, ал кесипкөй эмес программисттер үчүн жеткиликтүү жана колдонууга оңой.
3.1 Python жана HTTP колдонуу
Экс катарыample, сиз Python менен өлчөнгөн агымдардын суммасын окугуңуз келет дейли. Сизге керек URL ошол IO үчүн. FX4 web GUI муну табуу үчүн оңой жол менен камсыз кылат: талааны оң баскыч менен чыкылдатып, "HTTP көчүрүү" дегенди тандаңыз URL' сапты алмашуу буферине көчүрүү үчүн.
Эми сиз HTTP жана JSON аркылуу колдонуучунун программалык камсыздоосуна туташууну текшерүү үчүн Python колдоно аласыз. HTTP сурамдарын жана берилиштерди талдоону иштетүү үчүн суроо-талаптарды жана json китепканаларын импорттооңуз керек болушу мүмкүн.
1 Simple Python HTTP Example
3.2 EPICS колдонуу
EPICS (эксперименталдык физика жана өнөр жай башкаруу системасы) аркылуу FX4 туташтыруу процесси окшош. EPICS – илимий объектилерде кеңири колдонулган бөлүштүрүлгөн башкаруу системаларын иштеп чыгуу жана ишке ашыруу үчүн колдонулган программалык куралдардын жана тиркемелердин жыйындысы.
- Каалаган IO үчүн EPICS процессинин өзгөрмө (PV) атын алыңыз.
- EPICS китепканасын импорттоо жана маанисин окуу.
2 EPICS PV аталышын алыңыз
3 Simple Python EPICS Example
Кошумча, Пирамида утилитасын түздү (EPICS Connect⁴) реалдуу убакытта EPICS процессинин өзгөрмөлөрүн көзөмөлдөөгө мүмкүндүк берет. Бул курал EPICS PV аталышынын туура экенин жана FX4 тармагыңызда PVну туура тейлеп жатканын ырастоо үчүн пайдалуу.
4 PTC EPICS Connect
FX4 программалоо API
Бул колдонмодо сүрөттөлгөн түшүнүктөр жана ыкмалар IGX – Программисттин колдонмосунда белгиленген концепцияларга негизделет. Сураныч, түшүндүрмө үчүн бул документти караңыз жана эксampНегизги IGX программалоо жана интерфейстер кантип иштээри жөнүндө. Бул колдонмо FX4 үчүн уникалдуу болгон түзмөккө тиешелүү IO жана функцияларды гана камтыйт.
4.1 Аналогдук киргизүү IO
Бул IO FX4тин аналогдук ток киргизүүлөрү боюнча маалыматтарды конфигурациялоого жана чогултууга тиешелүү. Канал киргизүүлөрүнүн бирдиктери колдонуучу конфигурациялоочу “Sample Units”, жарактуу параметрлерге pA, nA, uA, mA жана A кирет.
Бардык 4 канал бир эле IO интерфейсин колдонот жана өз алдынча башкарылат. channel_x алмаштырылсын, тиешелүүлүгүнө жараша channel_1 , channel_2 , channel_3 же channel_4.
IO Path | Description |
/fx4/adc/channel_x | READONLY NUMBER Ченилген учурдагы киргизүү. |
/fx4/adc/channel_x/scalar | NUMBER Жөнөкөй бирдиксиз скаляр каналга колдонулат, демейки боюнча 1. |
/fx4/adc/channel_x/zero_offset | NUMBER Канал үчүн nA учурдагы жылышуусу. |
Төмөнкү IO каналдан көз карандысыз эмес жана бир эле учурда бардык каналдарга колдонулат.
IO Path | Description |
/fx4/channel_sum | READONLY NUMBER Учурдагы киргизүү каналдарынын суммасы. |
/fx4/adc_unit | STRING Ар бир канал жана сумма үчүн учурдагы колдонуучу бирдиктерин орнотот. Параметрлер: "па", "на", "уа", "ма", "а" |
/fx4/range | STRING Учурдагы киргизүү диапазонун орнотот. Ар бир диапазондун коду максималдуу учурдагы киргизүү чектерине жана BWге кантип туура келерин GUI караңыз. Параметрлер: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_frequency | NUMBER Гц менен жыштык, бул сampле маалыматтар орточо болот. Бул бардык каналдар үчүн сигналдын ызы-чуусун жана маалымат ылдамдыгын көзөмөлдөйт. |
/fx4/adc/conversion_frequency | NUMBER ADC аналогду санариптик мааниге айландыра турган Гц жыштыгы. Демейки боюнча, бул 100кГц жана бул маанини сейрек гана өзгөртүү керек болот. |
/fx4/adc/offset_correction | ОКУУ ГАНА САН Бардык каналдын учурдагы офсеттеринин суммасы. |
4.2 Аналогдук чыгаруу IO
Бул IO алдыңкы панелдеги аналогдук киргизүүлөрдүн астында табылган FX4 жалпы багыттагы аналогдук чыгууларынын конфигурациясына тиешелүү. Бардык 4 канал бир эле IO интерфейсин колдонот жана өз алдынча башкарылат. channel_x алмаштырылсын, тиешелүүлүгүнө жараша channel_1 , channel_2 , channel_3 же channel_4.
IO Path | Description |
/fx4/dac /channel_x | NUMBER Command томtage чыгаруу. Бул маани чыгаруу режими кол менен коюлганда гана жазылат. |
/fx4/dac/channel_x/readback | ОКУУЧУ ГАНА САН Өлчөнгөн томtage чыгаруу. Бул туюнтма чыгаруу режимин колдонууда эң пайдалуу. |
/fx4/dac/channel_x/output_mode | STRING Канал үчүн чыгаруу режимин орнотот. Параметрлер: "кол", "туюндурма", "процесс_контроль" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Айдоо ылдамдыгын чектөөнү иштетет же өчүрөт. |
/fx4/dac/channel_ x/slew_rate | NUMBER Канал үчүн V/s ылдамдыгы. |
/fx4/dac/channel_x/upper_limit | NUMBER Уруксат берилген эң көп буйрук томtage канал үчүн. Бардык иштөө режимдерине тиешелүү. |
/fx4/dac/channel _ x/lower_limit | NUMBER Минималдуу уруксат берилген буйрук томtage канал үчүн. Бардык иштөө режимдерине тиешелүү. |
/fx4/dac/channel _ x/ чыгаруу _ туюнтма | STRING Канал туюнтма чыгаруу режиминде колдонулган туюнтма сапты орнотот. |
/fx4/dac/channel _ x/reset_button | ТАПШЫРМА Буйрукту баштапкы абалга келтиретtage - 0. |
4.3 Санариптик киргизүү жана чыгаруулар
Бул IO FX4те табылган ар кандай жалпы максаттагы санариптик киргизүүлөрдү жана чыгууларды көзөмөлдөөгө тиешелүү.
IO Path | Description |
/fx4/fr1 | READONLY BOOL Fiber кабылдагыч 1. |
/fx4/ft1 | BOOL Fiber өткөргүч 1. |
/fx4/fr2 | READONLY BOOL Fiber кабылдагыч 2. |
/fx4/ft2 | BOOL Fiber өткөргүч 2. |
/fx4/fr3 | READONLY BOOL Fiber кабылдагыч 3. |
/fx4/ft3 | BOOL Fiber өткөргүч 3. |
/fx4/digital_expansion/d1 | BOOL D1 эки багыттуу санариптик кеңейүү IO. |
/fx4/digital_expansion/d2 | BOOL D2 эки багыттуу санариптик кеңейүү IO. |
/fx4/digital_expansion/d3 | BOOL D3 эки багыттуу санариптик кеңейүү IO. |
/fx4/digital_expansion/d4 | BOOL D4 эки багыттуу санариптик кеңейүү IO. |
4.3.1 Санарип IO конфигурациясы
Бардык санариптерде алардын жүрүм-турумун конфигурациялоо үчүн бала IO бар, анын ичинде санариптик кантип иштешин көзөмөлдөгөн иштөө режими бар. Ар бир санарипте жеткиликтүү варианттардын ар кандай топтому болот. Кайсы IO үчүн кандай варианттар бар экенин билүү үчүн GUIди караңыз.
Child IO Path | Description |
…/режим | STRING Санарип үчүн иштөө режими. Параметрлер: "input", "output", "pwm", "таймер", "кодер", "карт", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" же "pru_output" |
…/process_signal | STRING Процесс башкаруу сигналынын аты, эгер бар болсо. |
…/pull_mode | STRING Санарип киргизүү үчүн өйдө/ылдый тартыңыз. Параметрлер: "өйдө", "төмөн" же "өчүрүү" |
4.4 Релелик башкаруу
Эки реле тең өз алдынча башкарылат жана интерфейстин бир түрүн бөлүшөт. relay_x алмаштырылсын, тиешелүүлүгүнө жараша relay_a же relay_b.
IO Path | Description |
/fx4/relay _ x/ruxsat / колдонуучу _ буйругу | BOOL Релеге ачык же жабык буйрук берет. Чыныгы команда, эгерде блокировкалар берилсе, релени жабууга аракет кылат, ал эми жалган буйрук реледи ар дайым ачат. |
/fx4/relay _ x/state | READONLY STRING Эстафетанын учурдагы абалы. Кулпуланган реле ачык, бирок блокировкадан улам жабылышы мүмкүн эмес. Мамлекеттер: "ачылган", "жабык" же "кулпуланган" |
/fx4/relay _ x/автоматтык түрдө _ жабуу | BOOL Чындыкка коюлганда, блокировкалар берилгенде реле автоматтык түрдө жабылат. Демейки боюнча False. |
/fx4/реле _ x/ цикл _ эсеп | READONLY NUMBER Акыркы баштапкы абалга келтирилгенден берки релелик циклдердин саны. Релелик иштөө мөөнөтүн көзөмөлдөө үчүн пайдалуу. |
4.5 Жогорку Voltage модулу
FX4 жогорку томунун чоо-жайын билүү үчүн IGX – Программисттин колдонмосун караңызtage интерфейс. Компоненттин аталык жолу - /fx4/high_votlage .
4.6 Доза контроллери
FX4 доза контроллер интерфейси боюнча чоо-жайын билүү үчүн IGX – Программисттин колдонмосун караңыз. Компоненттин аталык жолу - /fx4/dose_controller .
FX4 Python Examples
5.1 HTTP колдонуу менен Data Logger
Бул эксample бир катар окууларды кантип басып алып, аларды CSVге сактоону көрсөтөт file. Окуулардын ортосундагы узак кечиктирүүнү тандоо менен, сиз FX4 сampлиния чен жогору белгиленет. Бул системаны ашыкча түйшөлтпөстөн, өлчөөлөрдү узак убакыт бою үзгүлтүксүз чогултууга жана сактоого мүмкүндүк берет, бул маалыматтардын анализиңизге ылайыктуу аралыкта кармалышын камсыз кылат. Окуулардын ортосундагы кечигүү маалыматтарды жазуу ылдамдыгын жөнгө салууга жардам берет, бул эффективдүү сактоого мүмкүндүк берет жана маалымат чекиттеринин жетишсиз болуу коркунучун азайтат, ошол эле учурда жогорку ылдамдыктагы с.ampреалдуу убакытта өлчөө үчүн.
5.2 Жөнөкөй Python GUI
Экинчи эксample өлчөнгөн агымдардын дисплейин түзүү үчүн Python үчүн курулган Tkinter GUI куралын колдонот. Бул интерфейс колдонуучуга ыңгайлуу графикалык форматта учурдагы окууларды визуализациялоого мүмкүндүк берет. Дисплей чоңураак мейкиндиктерде реалдуу убакыт режиминде мониторинг талап кылынган сценарийлер үчүн идеалдуу кылып, аны бөлмөнүн ар кайсы жеринен окууга жетишерлик чоң кылып өзгөртсө болот. Tkinter интерактивдүү интерфейстерди түзүүнүн оңой жолун камсыздайт жана аны FX4 менен интеграциялоо менен, сиз өзүңүздүн өзгөчө муктаждыктарыңызга ылайыкташтырылган өлчөнгөн агымдардын визуалдык дисплейин тез кура аласыз.
5.3 Жөнөкөй WebSockets Example
Бул эксampле көрсөтөт WebSockets интерфейси, бул максималдуу өткөрүү жөндөмдүүлүгү талап кылынганда FX4тен маалыматтарды окуу үчүн артыкчылыктуу ыкма. WebРозеткалар башка методдорго салыштырмалуу маалыматтарды тезирээк жана натыйжалуу өткөрүүгө мүмкүндүк берүүчү реалдуу убакыт режиминде, толук дуплекстүү байланыш каналын камсыздайт.
мурдагыample s сериясын окуйтamples, с орточо убакытты билдиретample жана максималдуу кечигүү жана маалыматтарды CSVге сактайт file кийинчерээк талдоо үчүн. Бул орнотуу эффективдүү реалдуу убакыт режиминде мониторинг жүргүзүүгө жана кийинки иштетүү үчүн маалыматтарды оңой сактоого мүмкүндүк берет.
менен жетишүүгө мүмкүн болгон конкреттүү аткаруу WebSockets Ethernet интерфейсиңиздин ишенимдүүлүгүнө жана колдонмоңуздун салыштырмалуу артыкчылыгына жараша болот. Оптималдуу натыйжаларга жетүү үчүн, тармагыңыздын туруктуу болушун жана зарыл болсо, FX4 маалыматын өткөрүү артыкчылыктуу экендигин текшериңиз.
Версия: v3
FX4 Python Examples: 21
Документтер / Ресурстар
![]() |
PYRAMID FX4 программист [pdf] Instruction Manual FX4 программист, FX4, программист |