Tiny EPICS CAS in NetBurner MOD5282 National Synchrotron Radiation Research Center (NSRRC) Te-Hui Lee, 2009/11/11.

Slides:



Advertisements
Similar presentations
SNS Integrated Control System SNS RDB Requirements, wish list, status A little history l Oracle RDB used exclusively by accelerator physics group l JERI.
Advertisements

1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Multi-DNC Data Collection/Monitoring
2500P-ACP1 Application Coprocessor
KX-NS1000 Initial Set Up For step by step : 16 May,
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.1 Module 6 Switch Configuration.
2.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 2: Installing Windows Server.
STFTP (Simplified Trivial File Transfer Protocol) MODULE #1.
Introduction. 2 What Is SmartFlow? SmartFlow is the first application to test QoS and analyze the performance and behavior of the new breed of policy-based.
Host Configuration: BOOTP and DHCP
CCNA 2 v3.1 Module 2.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Mastering Windows Network Forensics and Investigation Chapter 11: Text Based Logs.
© 2006, The Technology FirmWWW.THETECHFIRM.COM 1 WINDOWS XP SUPPORT TOOLS.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
G4 Control and Management Solution for Data- Centers and Computer Rooms.
FTP File Transfer Protocol. Introduction transfer file to/from remote host client/server model  client: side that initiates transfer (either to/from.
11 NETWORK PROTOCOLS AND SERVICES Chapter 10. Chapter 10: Network Protocols and Services2 NETWORK PROTOCOLS AND SERVICES  Identify how computers on TCP/IP.
Uniflair pCOWeb Ethernet interface card.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
SDR Test bench Architecture WINLAB – Rutgers University Date : October Authors : Prasanthi Maddala,
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
APS BPM and power supply applications on micro-IOCs W. Eric Norum
PACKET ANALYSIS WITH WIRESHARK DHCP, DNS, HTTP Chanhyun park.
1 Parani-MSP1000 Firmware Upgrade v1.2.0 Notes Sena Technologies.
All rights reserved, property and © CAD Computer GmbH & Co.KG 2009 Cover page.
Sublayers Under the Network Layer: BOOTP & DHCP
All rights reserved, property and © CAD Computer GmbH & Co.KG 2009 Cover page.
Specview 32 Release 2.5 Enhancements
LCLS Undulator Positioning Control System Shifu Xu, Joseph Xu, Josh Stein Control Group, AES/APS, ANL June 15, 2006.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
TFTP: Trivial file transfer protocol
Agilent Technologies Copyright 1999 H7211A+221 v Capture Filters, Logging, and Subnets: Module Objectives Create capture filters that control whether.
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team Client: Dr. Joseph Berrios Team Client:
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
Networking in Linux. ♦ Introduction A computer network is defined as a number of systems that are connected to each other and exchange information across.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Fundamentals.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
Source Controller software Ianos Schmidt The University of Iowa.
Allocating IP Addressing by Using Dynamic Host Configuration Protocol.
Cisco Discovery Semester 1 Chapter 6 JEOPADY RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands.
The “Drink Mixer” Design Constraints. Project Success Criteria An ability to digitally mix audio and adjust individual levels An ability to digitally.
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
Commands 3/1/ Boot PROM Fundamentals All Sun systems have resident boot PROM firmware Provides basic hardware testing and initialization prior.
Yared Woldekiros Western Washington university WEB ENABLE HOME AUTOMATION.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
4000 Imaje 4020 – Software Imaje 4020 – Content ■ Content of Chapter Software: 1. Flash Up 2. Netcenter 3. FTP 4. Active X 5. XCL commands 6. Exercise.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
iVMS-5200 Pro V3.3.0 Introduction
ICS WP3 – Software Core Components Suzanne Gysin Work Package Lead November 25, 2014.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Advanced Datalogger: Z-GPRS3. # 4 Digital Input PNP, NPN bit max 30 Hz) RAM and Flash RAM 256 KB 1 MB + 8 MB (log) SD card max 32 GB.
Local Alarm Station Data Acquisition, Storage and Visualization for Radiation Portal Monitor (RPM).
Application layer tcp/ip
CCNA Routing and Switching Routing and Switching Essentials v6.0
Chapter 10: Device Discovery, Management, and Maintenance
CCNA Routing and Switching Routing and Switching Essentials v6.0
Topic 5: Communication and the Internet
Cover page.
Chapter 10: Device Discovery, Management, and Maintenance
Delivering the Data.
Channel Access Concepts
Presentation transcript:

Tiny EPICS CAS in NetBurner MOD5282 National Synchrotron Radiation Research Center (NSRRC) Te-Hui Lee, 2009/11/11

Preface This is an incomplete but workable CAS solution. (ShanZhai EPICS) This is an incomplete but workable CAS solution. (ShanZhai EPICS) The cheapest EPICS CAS. The cheapest EPICS CAS. For MOD5270, USD 79 ~ USD 59 (1000) For MOD5270, USD 79 ~ USD 59 (1000) Good CA protocol tutorial material. Good CA protocol tutorial material. Small code size for low-end microcontroller porting. Small code size for low-end microcontroller porting.

Limitation Only DOUBLE and STRING PV are supported so far. Only DOUBLE and STRING PV are supported so far. Alarm is not correctly specified. Alarm is not correctly specified. Severity is not correctly specified. Severity is not correctly specified.

Ethernet Module CPUSWURL ArcturusNetworks Inc. uC5282 Freescale MCF5282 uClinux com/products/uc5282/ com/products/uc5282/ USD 200 ~ 220 NetburnerMOD5282 Freescale MCF5282 uCOS roducts/core_modules/mod5 282.html roducts/core_modules/mod5 282.html USD 145 ~105 (100) ~ 89 (1000) RabitCoreRCM4300 RabbitCore 4000 Dynamic C ucts/rcm4300/ ucts/rcm4300/ USD 99 ~ 81 (100)

Netburner Performance

NetBurner MOD5282 uC/OS Multitask RTOS uC/OS Multitask RTOS Freescale MCF5282 ColdFire 66 MHz Freescale MCF5282 ColdFire 66 MHz 8 10-bit on-chip analog inputs, 0 ~ 3.3 volts 8 10-bit on-chip analog inputs, 0 ~ 3.3 volts 4-digit 7 segment LED display 4-digit 7 segment LED display 8-bit DIP SW digital input 8-bit DIP SW digital input 8-bit LED display digital output 8-bit LED display digital output 2 RS-232 serial ports 2 RS-232 serial ports SD card FAT32 file system SD card FAT32 file system RTC chip on board RTC chip on board

NetBurner NNDK-MOD5282-KIT

NNDK-MOD5282-KIT

NNDK-MOD5282-KIT

NNDK-MOD52XX-KIT Network in 1 day: easy to learn Network in 1 day: easy to learn Well documented Well documented Good technical support Good technical support Plenty sample codes Plenty sample codes Plenty network support. HTTP, , FTP … Plenty network support. HTTP, , FTP …

Firmware Architecture

How To Change Code Hardware PV control code is located at ioc.cpp and pv.h. Hardware PV control code is located at ioc.cpp and pv.h. Three wrapper functions need to be maintained to accommodate different hardware. Three wrapper functions need to be maintained to accommodate different hardware. IOC_Init(): PV initialization IOC_Init(): PV initialization IOC_GetData(): get new value from hardware IOC_GetData(): get new value from hardware IOC_SetData(): set new setting to hardware IOC_SetData(): set new setting to hardware

On Board Signal Converter EPICS to DIO converter EPICS to DIO converter EPICS to A/D, D/A converter EPICS to A/D, D/A converter EPICS to RS-232 converter EPICS to RS-232 converter

IP Address DHCP will be used if initial IP is DHCP will be used if initial IP is Assigned fixed IP will be used if it is not Assigned fixed IP will be used if it is not Netmask is used for beacon broadcast Netmask is used for beacon broadcast Default is , broadcast address is Default is , broadcast address is

Time NTP client function NTP client function NTP server IP is assigned in configuration file. NTP server IP is assigned in configuration file. NTP server synchronization interval is configurable in configuration file. NTP server synchronization interval is configurable in configuration file. If NTP server time correction fails, on board RTC chip time will be used. If NTP server time correction fails, on board RTC chip time will be used. NTP server compatibility NTP server compatibility PresenTense Time Server, Meinberg NTP server PresenTense Time Server, Meinberg NTP server

EPICS PVs Test Analog input Analog input #caget nbcas255ai0 #caget nbcas255ai0 … #caget nbcas255:ai7 #caget nbcas255:ai7 Digital input Digital input #caget nbcas255:di #caget nbcas255:di Digital output Digital output #caput nbcas255:do x55 #caput nbcas255:do x55 #caput nbcas255:do 85 #caput nbcas255:do 85 7-segment 4-digit LED display 7-segment 4-digit LED display #caput nbcas255:seg 1234 #caput nbcas255:seg 1234 RS-232 serial port #0 RS-232 serial port #0 #caput nbcas255:s0 abcdefghijk #caput nbcas255:s0 abcdefghijk RS-232 serial port #1 RS-232 serial port #1 #caput nbcas255:s1 abcdefghijk #caput nbcas255:s1 abcdefghijk

Parameter Initialization Configuration file cassetup.ini is stored at the root directory of SD card Configuration file cassetup.ini is stored at the root directory of SD card The configurations parameters are loaded during power on process. The configurations parameters are loaded during power on process. Parameters include Parameters include Device name Device name NTP server IP address, sync interval NTP server IP address, sync interval Authorized access IP group Authorized access IP group Authorized access host and user group Authorized access host and user group Log format (None, binary, text) Log format (None, binary, text) Log Interval Log Interval Log file auto deletion function. Log file auto deletion function.

Example cassetup.ini DeviceName=nbcas255//device name DeviceName=nbcas255//device name NTP= //NTP server IP address NTP= //NTP server IP address NTPInterval=1440//NTP sync interval in minutes NTPInterval=1440//NTP sync interval in minutes NetMask= NetMask= LogFormat=1//log format: binary, 0:none,1:binary,2:test LogFormat=1//log format: binary, 0:none,1:binary,2:test LogInterval=1//log interval 1 s LogInterval=1//log interval 1 s //RW 1:read,2:write,3:read/write //RW 1:read,2:write,3:read/write AuIP1= AuIP1= AuRW1=3 AuRW1=3 AuIP2= AuIP2= AuRW2=3 AuRW2=3 AuIP3= // xxx.210 group are allowed AuIP3= // xxx.210 group are allowed AuRW4=3//access read and write AuRW4=3//access read and write Host1=host1:user1,user2//user1 and user2 at host1 have access rights Host1=host1:user1,user2//user1 and user2 at host1 have access rights Host2=host2:user1,user3//user1 and user3 at host2 have access rights Host2=host2:user1,user3//user1 and user3 at host2 have access rights TimeZone=480//Taipei, Beijing. Unit in minutes TimeZone=480//Taipei, Beijing. Unit in minutes SOUT=0//continuous serial output to RS-232 SOUT=0//continuous serial output to RS-232 AutoDel=1//Auto deletion for log file enabled AutoDel=1//Auto deletion for log file enabled

Security Control by IP Only authorized IP or IP group can access the device. Only authorized IP or IP group can access the device. The authorized IPs are loaded from NOR flash during power on process. The authorized IPs are loaded from NOR flash during power on process. If the authorized IPs in module are different from those in cassetup.ini, they will be updated from the card and then saved into NOR flash. If the authorized IPs in module are different from those in cassetup.ini, they will be updated from the card and then saved into NOR flash. Security privileges include Security privileges include Read only access Read only access Read and write access Read and write access

Security Control by User and Host Name Host1=host1:user1,user2 Host1=host1:user1,user2 user1 and user2 at host1 can read and write the device. user1 and user2 at host1 can read and write the device. Case sensitive Case sensitive

Host and Client Name in Windows

Log File System The log data will be saved in the SD card The log data will be saved in the SD card Log format: binary or text Log format: binary or text Log interval is configurable by initialization file cassetup.ini on SD card. Log interval is configurable by initialization file cassetup.ini on SD card. If AutoDel flag is enabled, device will delete the oldest directory automatically when disk data is full. If AutoDel flag is enabled, device will delete the oldest directory automatically when disk data is full. Filename Filename Text: \YYYYMM\YYMMDD.txt Text: \YYYYMM\YYMMDD.txt Binary: \YYYYMM\YYMMDD.bin Binary: \YYYYMM\YYMMDD.bin

Binary Log File Format OffsetDataContents 0 ~ 127 Header, Device name, PV1 name\tPV2 name\t … 128 ~ 131 Data 1 TimeStamp (unsigned long) 132 ~ 135 Data 1 PV1 (float) 136 ~ 139 Data 1 PV2 (float) … Data 1 … (N-1)*4 Data 1 PVN(float) N*4 = A Data 2 TimeStamp (unsigned long) A+4 Data 2 PV1 (float) A+8 Data 2 PV2 (float) … Timestamp is saved as unsigned long. It is equal to the second since 1990/1/1 12:00:00. Data are saved as 4-byte float.

Text Log File Format LineContents 1 Device name PV1 name,PV2 name, … \r\n 2TimeStamp,PV1,PV2,PV3..\r\n 3TimeStamp,PV1,PV2,PV3..\r\n Timestamp is saved as unsigned long. It is equal to the second since 1990/1/1 12:00:00. Data are saved as 4-byte float.

FTP Log File Access Log file and directory in SD card are read-only through FTP transfer.

Channel Access in One Slide CA Server CA Client Process Variables: Channel Access Server S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum Channel Access Client Who has a PV named “S1A:H1:CurrentAO”? I do. What is its value? 25.5 AMPS Change its value to 30.5 “connection request” or “search request” OK, it is now is too high. It is now set to the maximum value of You are not authorized to change this value Notify me when the value changes It is now 20.5 AMPS It is now 10.5 AMPS It is now AMPS “put” or “caPut” “get” or “caGet” “set a monitor” “post an event” or “post a monitor” “put complete” or or

CA Protocol Analyzer - Wireshark Where is it? Extension  Wireshark Where is it? Extension  Wireshark CA protocol document CA protocol document Wireshark CA plugin support Wireshark CA plugin support

CA Protocol Example for caget CA Protocol CIDSIDCSIDIOIO CA_PROTO_VERSIONCA_PROTO_SEARCHUDPbroadcast  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_SEARCHUDP  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_CLIENT_NAMECA_PROTO_HOST_NAMECA_PROTO_CREATE_CHANTCP  CAS x01 CA_PROTO_VERSIONCA_PROTO_ACCESS_RIGHTSCA_PROTO_CREATE_CHANTCP  CAS x010x010x01 CA_PROTO_READ_NOTIFYTCP  CAS x010x01 CA_PROTO_READ_NOTIFYTCP  CAS x010x01 CID: Channel ID, SID: Server ID, CSID: client provided subscription ID, IOID: client provided IO ID

#caget Process Captured by Wireshark

CA Protocol Example for caput CA Protocol CIDSIDCSIDIOIO CA_PROTO_VERSIONCA_PROTO_SEARCHUDP  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_SEARCHUDP  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_CLIENT_NAMECA_PROTO_HOST_NAMECA_PROTO_CREATE_CHANTCP  CAS x01 CA_PROTO_VERSIONCA_PROTO_ACCESS_RIGHTSCA_PROTO_CREATE_CHANTCP  CAS x010x010x01 CA_PROTO_READ_NOTIFYTCP  CAS x010x01 CA_PROTO_READ_NOTIFYTCP  CAS x010x01 CA_PROTO_WRITECA_PROTO_READ_NOTIFYTCP  CAS x010x010x010x02 CA_PROTO_READ_NOTIFYTCP  CAS x010x02 CID: Channel ID, SID: Server ID, CSID: client provided subscription ID, IOID: client provided IO ID

#caput Process Captured by Wireshark

CA Protocol Example for camonitor CA Protocol CIDSIDCSIDIOIO CA_PROTO_VERSIONCA_PROTO_SEARCHUDPbroadcast  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_SEARCHUDP  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_CLIENT_NAMECA_PROTO_HOST_NAMECA_PROTO_CREATE_CHANTCP  CAS x01 CA_PROTO_VERSIONCA_PROTO_ACCESS_RIGHTSCA_PROTO_CREATE_CHANTCP  CAS x010x010x01 CA_PROTO_EVENT_ADDTCP  CAS x010x01 CA_PROTO_EVENT_ADDTCP  CAS x010x01 CA_PROTO_EVENT_ADDTCP 0x010x01 CA_PROTO_EVENT_ADDTCP 0x010x01 CID: Channel ID, SID: Server ID, CSID: client provided subscription ID, IOID: client provided IO ID

#camonitor Process Captured by Wireshark

CA Protocol Example for MEDM (2 PVs) CA Protocol CIDSIDCSIDIOIO CA_PROTO_VERSIONCA_PROTO_SEARCH UDP broadcast  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_SEARCHUDPResponse  CAS x010xFFFFFFFF CA_PROTO_VERSIONCA_PROTO_CLIENT_NAMECA_PROTO_HOST_NAMECA_PROTO_CREATE_CHANCA_PROTO_CREATE_CHANTCP  CAS x1d0x1e CA_PROTO_VERSIONCA_PROTO_ACCESS_RIGHTSCA_PROTO_CREATE_CHANCA_PROTO_ACCESS_RIGHTSCA_PROTO_CREATE_CHANTCP  CAS x1d0x1d0x1e0x1e0x010x02 CA_PROTO_READ_NOTIFYCA_PROTO_EVENT_ADDCA_PROTO_READ_NOTIFYCA_PROTO_EVENT_ADDTCP  CAS x010x010x020x020x0e0x100x0d0x0f CA_PROTO_EVENT_ADDCA_PROTO_EVENT_ADDTCP  CAS x0e0x10 CA_PROTO_EVENT_ADDTCP 0x0e

Payload Data Structure \base \include\db_access.h \base \include\db_access.h /* structure for a double time field */ /* structure for a double time field */ struct dbr_time_double { struct dbr_time_double { dbr_short_tstatus; /* status of value */ dbr_short_tstatus; /* status of value */ dbr_short_tseverity;/* severity of alarm */ dbr_short_tseverity;/* severity of alarm */ epicsTimeStampstamp;/* time stamp since 1990/1/1 12:00 AM*/ epicsTimeStampstamp;/* time stamp since 1990/1/1 12:00 AM*/ dbr_long_tRISC_pad;/* RISC alignment */ dbr_long_tRISC_pad;/* RISC alignment */ dbr_double_tvalue;/* current value */ dbr_double_tvalue;/* current value */ }; };

MEDM Test Program DIP SW status LED display 7-seg LED display Serial0 Output Serial1 Output

Channel Archive Compatibility DBE_LOG data processing for CA_PROTO_EVENT_ADD DBE_LOG data processing for CA_PROTO_EVENT_ADD

UDP Port 5066 GETDATA GETDATA GETNAME GETNAME

Next Step Hardware module development Hardware module development DIO, A/D, D/A DIO, A/D, D/A Photon BPM controller Photon BPM controller Archive viewer Archive viewer smarter and user-friendly GUI smarter and user-friendly GUI PV correlation analysis PV correlation analysis Galil motor controller Galil motor controller X-ray detector controller X-ray detector controller

Thank you for your attention.