Note: * is a required field.
[Please fill in during the registration stage↓]
* Briefly introduce the work:
Programmable input and output module, lightweight PLC - an integrated small-volume, freely programmable combination logic terminal execution module for industrial automation, smart home, and IoT terminals, which helps product modular design, low-cost design, and maintainable design to reduce the electrical complexity in product development.
[Please fill in during the competition stage↓]
* 1. Work details;
With the increasing complexity of production automation and the development of distributed intelligent terminals, the demand for modular design is getting higher and higher. Traditional PLCs are large in size, complex in functions, complex in installation and wiring, high in programming complexity, and high in cost, which limit the freedom and simplicity of design. Our design targets some application scenario terminals with single functions and designs a universal and programmable streamlined terminal device. The device can easily layout and wire, and can be easily installed with its ultra-compact size, saving space and avoiding complex electrical wiring. Users can freely combine logic to program the timing and execution logic of input and output, so that complex systems can be divided into independent workstations for easy maintenance and positioning.
For example, the programmable module with 8-channel input and 8-channel output only occupies an area of about 100mm*60mm. The module provides programmable input relays, programmable output relays, various timers, intermediate relays and other controls for users to use, and supports common logic such as AND or NOT. The programming language is simple, and only 3-5 basic statements need to be mastered and can be easily designed. Ordinary electrical engineers or users can get started within ten minutes through learning. The module integrates compilation function, and the user code can be compiled and parsed normally without the need for specialized software. The module has high execution efficiency, and the fastest user program execution cycle can reach 1ms.
* 2. Describe the challenges faced by the work and the problems solved;
Challenges:
1. Semantic and grammatical analysis of user input programs, connection and execution of user programs
2. Simplification of programming, how to complete as much logic as possible with the least language
3. Debugging, development of debugging interface for user code
4. Efficiency of user program execution
5. Design of program data structure scalability and memory management
Problems solved
1. Semantic analysis, connection, and execution of user programs
2. Encapsulation of complex logic for user use 3. Flexible
and scalable user programming language keyword library
4. Efficient execution algorithm
5. Support for user multi-threaded programming
* 3. Describe the key points involved in the hardware and software parts of the work;
1. MCU selection - high main frequency, rich internal storage space
2. Isolation of input and output
3. Communication module (user programming interface and bus interface)
4. Module compilation function for application programs
5. User multi-threaded application function
6. Execution of user programs
7. Input and output management
8. Memory and CPU monitoring
9. Fault and error handling
The general structure of the software (just look at the code structure, be lazy)
![soft.JPG]
* 4. List of materials for the work;
![bom.JPG]
![bom.JPG]
* 5. Upload pictures of your works; (The PCB must have the logo of the competition and take a photo to upload. If not, it will be deemed as giving up the competition)
1. 3D files of LiChuang board and patch
![pcb.JPG]
2. Solder the complete version yourself
![webwxgetmsgimg 2.jpg]
* 6. Demonstrate your work and upload it as a video; (The video content must include: introduction of the work; function demonstration; performance test; close-up of the logo of the competition on the PCB. If not, it will be deemed as giving up the competition)
Demonstration video:
https://pan.baidu.com/s/1chFVD7VF7kqXapXdjJJ_Fg
7. Open source documents.
Document: User programming manual (simple version, tight time, heavy task, will be supplemented later)
https://pan.baidu.com/s/1GifhL7Z61MIJ2fyXwJYTrw