Job Description : |
Location – Houston, Texas
Job Title: Firmware Design Engineer
Summary of
Role: Under minimum supervision, applies functional specifications and uses engineering tools to design and develop (a) PLC firmware for surface systems and (b) embedded firmware for subsea and surface interface systems. Generates a road map of detailed activities from a high-level specification and collaborates with the rest of the design team ensuring that development milestones and deadlines are met. Implements optimal and high-performance firmware by leveraging a strong understanding of hardware design. Analyses and provides feedback on peer designs in open and collaborative design review forums. Contributes to reliability analysis such as risk assessments and Failure Mode Effects Analysis by compiling and examining data. Identifies the testing requirement at a system level with the emphasis on complying with test standards and Halliburton’s Health, Safety, and Environment procedures. Works as integral part of multi-discipline team including Electronics Hardware Engineering, Project Management, Mechanical Engineering, assembly and test, and Software teams.
RESPONSIBILITIES
Design & Development:
( primary function )
Firmware design to support product changes and new development;
Design and develop PLC firmware for Surface Systems
Design and develop embedded firmware for Interface Systems (subsea / surface)
Design Tests and Procedures
Analyse design issues and identify solutions
Independently evaluate design and execute tests to meet stated requirements
Create Product Support Documentation
Participates and facilitates in Design Reviews
Product Maintenance & Manufacturing:
(secondary function)
Support Technology Transfer (Documentation and Training)
Product Support to Operations
Product Support to Manufacturing
Troubleshooting of operational issues
Product Line governance and continuous improvement
QUALIFICATIONS & EXPERIENCE
Experience:
PLC and Programming
Should be able to understand and draw the electrical schematics for electro-hydraulic control system
Experience with IEC61131-3 programming languages for multiple PLC platforms, Schneider’s SCADAPACK and SOFT PLC is must
Ladder Programming
FBD (Functional Block Diagram)
SFC (Sequential Function Chart)
ST (Structured Text)
Experience in NI product and LabVIEW development for
Selecting appropriate NI hardware as per product requirement
Data acquisition applications using NI DAQ
Communication protocols (Serial, Ethernet)
Database and Report generation toolkits
Embedded C/C++ programming on microcontrollers, and microcontrollers including coding of interfaces to external systems
Setting up and developing against different toolchain(s) including but not limited to GCC, CCS, Libero, Vivado etc.
Bootloader configuration and debugging, JTAG, SWO.
Communication interfaces such as SPI/I2C/SCI/CAN/UART
Control algorithms for power supplies and motor drivers
Understanding of how to work around processing, memory, I/O, timing, and other limitations
Using basic laboratory instruments efficiently for test and analysis during development (oscilloscope, function generator, logic analyser etc).
Using common debugging tools to troubleshoot embedded code and implement corrections
Designing tests including regression tests and unit testing
Troubleshooting prototype and production tools at Electromechanical Systems level
Preferable: Experience with embedded Linux operating systems and development environment, using Buildroot, Yocto or other tools .
Qualifications:
Skills acquired through the completion of an undergraduate degree in Electrical Engineering or similar discipline and three years of related experience. Completion of a Master’s in Electrical Engineering or similar discipline is preferred. |