{"id":273,"date":"2013-03-31T23:10:39","date_gmt":"2013-03-31T22:10:39","guid":{"rendered":"http:\/\/www.daqq.eu\/?p=273"},"modified":"2013-04-01T11:11:47","modified_gmt":"2013-04-01T10:11:47","slug":"the-dplc-programmable-controller","status":"publish","type":"post","link":"https:\/\/www.daqq.eu\/?p=273","title":{"rendered":"The DPLC programmable controller"},"content":{"rendered":"<p>The DPLC is a PLC I made for my final exams at high school. It can be programmed in a simple language, has 16 inputs and 16 outputs. It can be programed with 65536 bytes, which is equal to 8192 instruction (yes, 8 byte instructions). It's designed as a piggyback module, which the user will put on the hardware he requires or choose from some standard HW.<\/p>\n<p>The core is a ATMEGA128 processor. The memory is a 24FC512. The program for the PLC is stored here. I made custom everything, cause I learned only recently that there's a customisable assembler and stuff.<\/p>\n<p>The basic idea is that a cheap module will be placed onto a customer defined hardware platform. The platform can contain standart stuff: relays, optocouplers etc...<\/p>\n<p>In retrospect a lot of things could have been done better. That was many, many years ago...<\/p>\n<p>Example code for the PLC:<\/p>\n<pre>set_out_to_value_using_mask FF FF 00 22\r\n jump_point_no 0\r\n if_in_using_mask_is_equal_skip 01 00 01 00 1\r\n jump 1\r\n\r\n jump 0\r\n\r\n jump_point_no 1 comment: initiation seq\r\n\r\n set_out_to_value_using_mask 00 FF AA AA\r\n wait 00 00 00 1F\r\n set_out_to_value_using_mask 00 FF 55 55\r\n wait 00 00 00 1F\r\n counter 0 g 0 1 1\r\n\u00a0jump 1<\/pre>\n<p>Photo of the whole set:<\/p>\n<p><a href=\"http:\/\/www.daqq.eu\/wp-content\/uploads\/2013\/03\/dplc_10a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-274\" alt=\"dplc_10a\" src=\"http:\/\/www.daqq.eu\/wp-content\/uploads\/2013\/03\/dplc_10a.jpg\" width=\"440\" height=\"330\" srcset=\"https:\/\/www.daqq.eu\/wp-content\/uploads\/2013\/03\/dplc_10a.jpg 440w, https:\/\/www.daqq.eu\/wp-content\/uploads\/2013\/03\/dplc_10a-300x224.jpg 300w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The DPLC is a PLC I made for my final exams at high school. It can be programmed in a simple language, has 16 inputs and 16 outputs. It can be programed with 65536 bytes, which is equal to 8192 &hellip; <a href=\"https:\/\/www.daqq.eu\/?p=273\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,19],"tags":[10],"class_list":["post-273","post","type-post","status-publish","format-standard","hentry","category-projects","category-simple-mcu-stuff","tag-avr"],"_links":{"self":[{"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=273"}],"version-history":[{"count":2,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/posts\/273\/revisions"}],"predecessor-version":[{"id":297,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=\/wp\/v2\/posts\/273\/revisions\/297"}],"wp:attachment":[{"href":"https:\/\/www.daqq.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.daqq.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}