Shawn Modersohn

Programs

This page is an extension of my resume. PLC projects are listed first. Most of my software is released under a Creative Commons Version 4 license. Some software is released under a GNU V.3 license. Each project will have documentation that includes license information.

PLC projects were created with Automation Direct's Do-more Designer. It is free software, includes a built in emulator, and has none of the overhead of Studio 5000. The HMI's (Human Machine Interface) are programmed using the Advanced HMI Framework. This software is free to use, open source, and in my experience does well for SCADA and other non critical systems. It runs using the .NET framework, meaning it runs on your computer instead of a dedicated network device.

The java assembly files are compiled using Jasmin. The .j files are text files written in the Java Virtual Machine instruction set. Instructions on how to run the .class files are found in each program's documentation.

Garage Door Opener

Program Language: PLC, Ladder Logic

An exercise for an introductory PLC programming class. The programmer is tasked with creating a program that will safely control a garage door opener. Devices include limit switches, auxiliary inputs, and a safety photo eye.

Pine Car Derby

Program Language: PLC, Ladder Logic

An exercise for an introductory PLC programming class. The programmer is asked to design a machine and associated programs to control a race car track for model cars. The design is very much like a Pinewood derby track. This program requires a minimal amount of electrical devices to reliably determine a winner.

Freight Weight

Program Language: PLC, Ladder Logic

A project that requires a PLC program that reads a weight value from a 4mA - 20mA loadcell. The project also requires an HMI that displays the weight and various other messages. The HMI is programmed in Visual Basic using Advanced HMI and the .NET 4.8 framework

Fibonacci Sequence

Program Language: Java, Assembly

An exercise for an advanced programming class. This program is written in assembly. The user can request it compute and print the Fibonacci Sequence up to 90 times.

Infix to Postfix

Program Language: Java, Assembly

An exercise for an advanced programming class. This program is written in assembly. It takes an infix expression such as 7 + 3 / 2 and converts it to postfix notation.

Time sheet Calculator

Program Language: C-Sharp

A Time sheet calculator using a Windows Form. It calculates times in both classic hour and minute totals while also calculating hourly percentages. All time percentages are rounded to one decimal.

Simple Binary Converter

Program Language: C-Sharp

Originally an exercise for an introductory programming course. It takes a whole number as input and outputs its binary equivalent. I revisited this lesson years later to implement a much simpler algorithm.

Fahrenheit Converter

Program Language: C-Sharp

One of the very first programs I wrote for an Introduction to Programming college course. It was probably the first program I wrote in C-Sharp. I'll get around to fixing the spelling mistake.

HTML Div Division

Program Language: javascript

An application to collapse and expand categories in an html page. This is the same program that drives the navigation for this page.