I have been toying with the Do-More Sim and KepDirect today and wanted to share some comments/feedback (also perhaps there is another OPC Server that is better suited, perhaps ones with the new Do-More drivers). Let me first state that I have all of one week under my KEPDirect belt and one day of Do-More SIM.
Programs Used:
Do-More PLC Software: Example PID program included with the downloaded Software (Controls oven temperature)
OPC Server: KepDirect V5.5
HMI: Lookout Direct running on XP Virtual Machine
Windows PC: Running Windows 7 64 Bit
Data Acquisition: DasyLab v10.0
1st issue I encountered was connecting the OPC Server. KEPDirect is limited to the DirectLogic structured block names and data types (X0, Y0, C0, V-Memory, etc). BobO suggested that I use the DLV, DLX, DLY block names in the ladder program. So a simple MOVE command (awesome by the way) moving SimPID.PV to DLV2002 made the OPC server recgonize the V2002 data.
:)Positives
I could move the data to the OPC server and have DasyLab grab the data, plot, and write to file from the OPC server.
I could also display the data directly to LookoutDirect HMI as a simple expression
:-\Negatives
I could only move the data as an unsigned word, which gave me an integer value (XXX) and did not have the precision of SimPID.PV (XXX.XX)
I got around this by performing Math on the SimPID.PV (multiplied by 10), performed the MOVE to DLV2002, and then scaled the value (divided by 10) in DasyLab to gain precision (XXX.X). If new drivers could communicate directly to SimPID.PV that would be more efficient.
2nd issue was connecting I/O (X0, Y0, WX0, etc). I first wanted to read if the PID loop was in manual or auto mode (which is controlled by X0 low or high respectively). A simple MOVE command sending X0 to DLX0, made the register appear on the OPC Server, HMI, and Data Acquisition.
However, real world outputs (Y's) did not work out as well.
With a standard DL06, operating Y's can be done through the OPC Server by writing a 0 or a 1 and the physical PLC will function the respective output relays (Y1, 2, 3, etc).
With the DO-More PLC, I was hoping that it was going to be a simple MOVE DLY15 (since Y15 is not in the example program) to Y15 to control the real world output. What I found was DLY15 (or Y15 on the OPC Server) actually functioned Y10 of the Do-More PLC. The way around this was to assign a V-Memory location (I chose V2020 on the OPC) performed a MOVE to Y15 and was able to function the output by passing a 0 or 1 to operate Y15.
:)Positives
It can be done!
:(Negatives
Hopefully there is a better way!
Perhaps there is a different approach that I need to take or perhaps this is something (drivers) that Host is working on. I tried the import function (.csv) in the KEPDirect OPC Server, but it did not allow me to upload my "Tags" or Nicknames. Again perhaps there is an easy fix that I am missing.
I am going to continue to play on this end, but I thought I would provide my initial findings and hopefully get some help or provide some help as this topic expands.
Thank you Host thus far, and keep up the great work!