Sign in to follow this  
Followers 0
JDHammond

D0-DCM Card

21 posts in this topic

I have 2 displays and using a print function off of port 2 on the 06. I purchased a D0-DCM Card and want to use it for the other display. The string for the print is "0201" V710:B "$03". What would the string look like using the D0-DCM Port? Thanks

Share this post


Link to post
Share on other sites
Make sure you have the latest revisions of firmware for the D0-DCM, the DL06 and have the latest DirectSOFT release. The new PRINT instruction will ask for the CPU or D0-DCM information. The actual string will be dependent on the target device.

Share this post


Link to post
Share on other sites
Ok I see where it asks you for the CPU or D0-DCM on the new print. Another question I have is my TX2 Light is always on on my processor. Our other processors the light is off untill it transmits the string. In my program the string is transmitted with the print function for 10 sec every 60 sec. Also Im trying to see it on a osilliscope. What would the string be? DC millivolts? Thanks

Share this post


Link to post
Share on other sites
The TX2 light should only be on during the actual transmit. You may want to review your logic to make sure that it is not lways trying to transmit. The voltage depends on if you are measuring RS232 or RS422/RS485. RS232 - relative to the common pin the transmit should swing (by spec) to +15 or - 15. In actual usage the values may be lower, typically about 12 volts. I believe it's at the minus level when not tranmitting. When transmitting of course it's fast pulses. RS422/RS485 - measured from TX- to TX+. This should be either +5 or -5 volts. They actually swap positions as pulses when transmitting (as opposed to RS232 where the common stays the same and the Transmit line changes). It may be less confusing to measure from the GND pin. But then you'll se one side of the signal. if you can dual channel it then go from Gnd to TX- and the other from Gnd to TX+. Seperate them on the screen and watch as transmitting takes place.

Share this post


Link to post
Share on other sites
Yeah in the logic it is only on for 10 sec and off for 60. I dont see any forces on it. Im using pins 9 and 10 on Com 2 which is TXD+ and TXD-. What im trying to do is get a percentage of uptime and put it on the display. I have a timer running every 8 hours TMR5. I have another timer running while the machine runs TMRA10. I tried a LDR TA5, DIVR T10,MULR R100,RTOB,BCD,OUT V710. But im not getting what I want in V710. New to the Direct PLC's. Did mostly everything on Mitsubishi and Allen Bradley. I appreciate your help! Thanks

Share this post


Link to post
Share on other sites
I take it that you want the ratio of the time in T5 to the time in T10 expressed as a percent in BCD in V710. Try: LD TA5 MUL K100 DIV TA10 OUT V710

Share this post


Link to post
Share on other sites
Yes, say i have 60 in T10 and 120 in T5. My percentage would be 50%. I changed it to what you wrote and V710 was 43. T5 had 212800 T10 had 125467. So divide 125467 by 212800 and you get .5896 times 100 would be 58.96 I pulled up the data table and TA5 had 3050 and TA10 had 5467 in BCD, and I think when it got to 9999 it went back to 0 so maybe i need to try what you wrote using LDR TA5, MULR K100,DIVR TA10,OUT V710. Ill try it and see. Ill let you know>

Share this post


Link to post
Share on other sites
Still not right. It should be simple math, I just cant get it.

Share this post


Link to post
Share on other sites
Ok - you aren't being very precise in your statements. I take it that T5 is a TMRA (not TMR) and so is TMR10. And now you want the value in T10 divided by the value in T5 (not the other way around) When you view the values for TMRA5 and TMRA10 in a data table make sure to set it to DWORD to see all 8 numbers. This may work LDD TA10 MULD K100 DIVD TA5 OUT V710 But - If the timers are going to approach their maximum value (more than 6 digits) then we'll have to modify the procedure to use REAL numbers. LDD TA5 BIN BTOR OUTD V2000 - this is any two V registers as a temporary storage LDD TA10 BIN BTOR MULR K100.0 DIVR V2000 RTOB BCD OUT V710

Share this post


Link to post
Share on other sites
It wont accept MULD K100 changes to TA100. Is that right. Tried R100 and 100. Says unassigned nickname.

Share this post


Link to post
Share on other sites
480000 should be the highest in 8 hours. Its quitting time so I will try tommorow and see if I can get somewhere. Thanks

Share this post


Link to post
Share on other sites
So you'll have to store 100 into a register (actually 2 registers with the 100 going into the lower one and 0 into the higher one) then use that V register as the value in the MULD. Sorry about that. I seem to always run into that when I suggest stuff without actually trying it first. So maybe I should always try it first? ---- Nah

Share this post


Link to post
Share on other sites
I used V2000 and put a 100 in it. I have a display that has 4 positions with a decimal in the middle. So with the hundred I got .96 I put a 1000 in it and got 9.63 I cant put 10000 in it so how can I move it over one more spot? Thanks Edited by JDHammond

Share this post


Link to post
Share on other sites
I don't know your display. Are your trying to show XX.XX%. Do you need that precision? Can you change the format of the string to the screen? Need more info.

Share this post


Link to post
Share on other sites
Yes im trying to show XX.XX% The display is fixed as far as I know with 2 decimal spots. You mean change the format on the display and move the decimal over?

Share this post


Link to post
Share on other sites
If you can't change the display (as far as number of digits after the decimal point) the go with the REAL version of the conversion and play with the MULR factor (yes I know it will be an 'R' not a 'K').

Share this post


Link to post
Share on other sites
LDD TA5 BIN BTOR OUTD V2000 - this is any two V registers as a temporary storage LDD TA10 BIN BTOR MULR K100.0 DIVR V2000 RTOB BCD OUT V710 Do I leave V2000 with nothing in them. Is it used for storage? Now I got a 0 in v710. My luck !

Share this post


Link to post
Share on other sites
LDD TA5 BIN BTOR OUTD V2000 - this is any two V registers as a temporary storage At this point V2000/1 thould have a REAL version of the accumulator value of T5 LDD TA10 BIN BTOR These should leave a REAL version of the accumulator value of T10 in the PLC accumulator MULR K100.0 - this is probably actually MULR R100.0 - multiplying the value from T10 by 100 DIVR V2000 - now divide by the value from T5 leaves a fractional REAL (times 100) in the accumulator RTOB - this should make a binary version of the integer part of the REAL BCD - and convert it to BCD OUT V710 - then send it to V710 Check out the values at each step. See if you can figure out where the zero happens. Edited by b_carlton

Share this post


Link to post
Share on other sites
I think that got it!!!!!!!!!!!!!!! I had to change the MULR to R10000. With R100 I had .63 with R10000 I had 63.09. I will put it in the program for the other display and try it. I got the D0-DCM card to work. It was very simple. Starting to like the Direct PLC's. THe Ethernet card was also easy to install and config. One more question though. I thumbed through the manual for a minute looking for how the Direct 06 expansion output card D0-08TR. How are they addressed in the logic? Again thanks for your help!!!

Share this post


Link to post
Share on other sites
Glad you got it. The add-on I/O cards in the DL06 are addressed starting at X100/Y100. Edited by b_carlton

Share this post


Link to post
Share on other sites
Simple enough. Usually with other PLC's you have to address them with the slot address.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0